# Keras Functional model for CNN - why 2 conv layers?

I'm having some difficulty in interpreting the functional model layers in keras:

Does the code below mean we are doing 2 convolutions before max pooling? If so, why are we doing it twice and then pooling? (Code taken from Kaggle competition using unet)

c1 = Conv2D(32, (3, 3), activation='relu', padding='same') (inputs)
c1 = Conv2D(32, (3, 3), activation='relu', padding='same') (c1)
p1 = MaxPooling2D((2, 2)) (c1)


The reason I'm confused is because the Sequential model here from the official Keras examples will just do a conv layer and then pool it.

model = Sequential()



Can someone tell me what I'm missing in my understanding?