diff --git a/modules/deeplearning/srcnn_l1b_l2.py b/modules/deeplearning/srcnn_l1b_l2.py
index 60d89f0dd60c5368be55590c7ca0a1db6dc33163..bb3bfbf3e805a3dfcfb861b2d723d54181c5d009 100644
--- a/modules/deeplearning/srcnn_l1b_l2.py
+++ b/modules/deeplearning/srcnn_l1b_l2.py
@@ -73,13 +73,23 @@ t = np.arange(0, 64, 0.5)
 s = np.arange(0, 64, 0.5)
 
 
-def build_residual_conv2d_block(conv, num_filters, block_name, activation=tf.nn.relu, padding='SAME', kernel_initializer='he_uniform', scale=None):
+def build_residual_conv2d_block(conv, num_filters, block_name, activation=tf.nn.relu, padding='SAME',
+                                kernel_initializer='he_uniform', scale=None,
+                                do_drop_out=False, drop_rate=0.5, do_batch_norm=False):
 
     with tf.name_scope(block_name):
         skip = tf.keras.layers.Conv2D(num_filters, kernel_size=3, padding=padding, kernel_initializer=kernel_initializer, activation=activation)(conv)
         skip = tf.keras.layers.Conv2D(num_filters, kernel_size=3, padding=padding, activation=None)(skip)
+
         if scale is not None:
             skip = tf.keras.layers.Lambda(lambda x: x * scale)(skip)
+
+        if do_drop_out:
+            skip = tf.keras.layers.Dropout(drop_rate)(skip)
+
+        if do_batch_norm:
+            skip = tf.keras.layers.BatchNormalization()(skip)
+
         conv = conv + skip
         print(block_name+':', conv.shape)