diff --git a/c/model.h b/c/model.h
index 0a064a9..6e226f5 100644
--- a/c/model.h
+++ b/c/model.h
@@ -1,9 +1,9 @@
 #define N_BUNDLES 7
 Bundle_t bundles [N_BUNDLES] = {
    {.n=8  , .l=3  , .kw=11 , .coe=2  , .coe_tl=2  , .r_ll=2  , .h=18 , .w=18 , .ci=3   , .co=8  , .w_kw2=13 , .t=4  , .p=3  , .cm=1  , .cm_p0=1  , .xp_words=6048, .w_bpt=140  , .w_bpt_p0=140  , .x_bpt=3032 , .x_bpt_p0=3032 , .o_words=5376 , .o_bytes=2696 , .out_buffer_idx=0 , .add_out_buffer_idx=0 , .add_in_buffer_idx=-1, .is_bias=1  , .is_flatten=0  , .b_offset=0  , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=0  , .ca_shift=12 , .ca_pl_scale=0  , .add_act_shift=0  , .pool_act_shift=0  , .csh=2  , .ch=9  , .csh_shift=1  , .pkh=3  , .psh=2  , .ph=5  , .psh_shift=1  , .csw=1  , .cw=18 , .csw_shift=0  , .pkw=4  , .psw=3  , .pw=6  , .psw_shift=0  , .pool=POOL_AVG  , .on=8  , .oh=5  , .ow=6  , .oc=8  , .x_header=               17055749u, .x_header_p0=               17055749u, .w_header=           347372535813u, .w_header_p0=                 17055749u , .debug_nhwc_words=1920  },
-   {.n=8  , .l=1  , .kw=1  , .coe=24 , .coe_tl=0  , .r_ll=5  , .h=5  , .w=6  , .ci=8   , .co=8  , .w_kw2=6  , .t=1  , .p=1  , .cm=20 , .cm_p0=8  , .xp_words=672, .w_bpt=104  , .w_bpt_p0=104  , .x_bpt=2696 , .x_bpt_p0=2696 , .o_words=5376 , .o_bytes=2720 , .out_buffer_idx=1 , .add_out_buffer_idx=-1, .add_in_buffer_idx=-1, .is_bias=1  , .is_flatten=0  , .b_offset=8  , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=12 , .ca_pl_scale=0  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=8  , .oh=5  , .ow=6  , .oc=8  , .x_header=                  81976u, .x_header_p0=                  81976u, .w_header=           244276346936u, .w_header_p0=                    81976u , .debug_nhwc_words=1920  },
-   {.n=8  , .l=1  , .kw=7  , .coe=3  , .coe_tl=2  , .r_ll=5  , .h=5  , .w=6  , .ci=8   , .co=8  , .w_kw2=3  , .t=3  , .p=4  , .cm=2  , .cm_p0=2  , .xp_words=672, .w_bpt=176  , .w_bpt_p0=176  , .x_bpt=680  , .x_bpt_p0=680  , .o_words=5376 , .o_bytes=2704 , .out_buffer_idx=0 , .add_out_buffer_idx=-1, .add_in_buffer_idx=0 , .is_bias=0  , .is_flatten=0  , .b_offset=32 , .b_val_shift=0  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=3  , .ca_pl_scale=0  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=8  , .oh=5  , .ow=6  , .oc=8  , .x_header=                  81931u, .x_header_p0=                  81931u, .w_header=           450434777099u, .w_header_p0=                    81931u , .debug_nhwc_words=1920  },
-   {.n=8  , .l=1  , .kw=5  , .coe=4  , .coe_tl=4  , .r_ll=5  , .h=5  , .w=6  , .ci=8   , .co=8  , .w_kw2=4  , .t=2  , .p=2  , .cm=4  , .cm_p0=4  , .xp_words=672, .w_bpt=248  , .w_bpt_p0=248  , .x_bpt=1352 , .x_bpt_p0=1352 , .o_words=5376 , .o_bytes=2704 , .out_buffer_idx=1 , .add_out_buffer_idx=-1, .add_in_buffer_idx=-1, .is_bias=1  , .is_flatten=0  , .b_offset=32 , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=15 , .ca_pl_scale=3  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=8  , .oh=5  , .ow=6  , .oc=8  , .x_header=                  81946u, .x_header_p0=                  81946u, .w_header=           656593207322u, .w_header_p0=                    81946u , .debug_nhwc_words=1920  },
+   {.n=8  , .l=1  , .kw=1  , .coe=24 , .coe_tl=0  , .r_ll=5  , .h=5  , .w=6  , .ci=8   , .co=8  , .w_kw2=6  , .t=1  , .p=1  , .cm=20 , .cm_p0=8  , .xp_words=672, .w_bpt=104  , .w_bpt_p0=104  , .x_bpt=2696 , .x_bpt_p0=2696 , .o_words=5376 , .o_bytes=2720 , .out_buffer_idx=1 , .add_out_buffer_idx=1 , .add_in_buffer_idx=0 , .is_bias=1  , .is_flatten=0  , .b_offset=8  , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=12 , .ca_pl_scale=0  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=8  , .oh=5  , .ow=6  , .oc=8  , .x_header=                  81976u, .x_header_p0=                  81976u, .w_header=           244276346936u, .w_header_p0=                    81976u , .debug_nhwc_words=1920  },
+   {.n=8  , .l=1  , .kw=7  , .coe=3  , .coe_tl=2  , .r_ll=5  , .h=5  , .w=6  , .ci=8   , .co=8  , .w_kw2=3  , .t=3  , .p=4  , .cm=2  , .cm_p0=2  , .xp_words=672, .w_bpt=176  , .w_bpt_p0=176  , .x_bpt=680  , .x_bpt_p0=680  , .o_words=5376 , .o_bytes=2704 , .out_buffer_idx=0 , .add_out_buffer_idx=-1, .add_in_buffer_idx=1 , .is_bias=0  , .is_flatten=0  , .b_offset=32 , .b_val_shift=0  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=3  , .ca_pl_scale=0  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=8  , .oh=5  , .ow=6  , .oc=8  , .x_header=                  81931u, .x_header_p0=                  81931u, .w_header=           450434777099u, .w_header_p0=                    81931u , .debug_nhwc_words=1920  },
+   {.n=8  , .l=1  , .kw=5  , .coe=4  , .coe_tl=4  , .r_ll=5  , .h=5  , .w=6  , .ci=8   , .co=8  , .w_kw2=4  , .t=2  , .p=2  , .cm=4  , .cm_p0=4  , .xp_words=672, .w_bpt=248  , .w_bpt_p0=248  , .x_bpt=1352 , .x_bpt_p0=1352 , .o_words=5376 , .o_bytes=2704 , .out_buffer_idx=1 , .add_out_buffer_idx=-1, .add_in_buffer_idx=0 , .is_bias=1  , .is_flatten=0  , .b_offset=32 , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=15 , .ca_pl_scale=3  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=8  , .oh=5  , .ow=6  , .oc=8  , .x_header=                  81946u, .x_header_p0=                  81946u, .w_header=           656593207322u, .w_header_p0=                    81946u , .debug_nhwc_words=1920  },
    {.n=8  , .l=1  , .kw=3  , .coe=8  , .coe_tl=8  , .r_ll=5  , .h=5  , .w=6  , .ci=8   , .co=24 , .w_kw2=5  , .t=3  , .p=2  , .cm=6  , .cm_p0=2  , .xp_words=672, .w_bpt=224  , .w_bpt_p0=80   , .x_bpt=2024 , .x_bpt_p0=680  , .o_words=16128, .o_bytes=8080 , .out_buffer_idx=0 , .add_out_buffer_idx=-1, .add_in_buffer_idx=-1, .is_bias=1  , .is_flatten=0  , .b_offset=40 , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=0  , .ca_shift=12 , .ca_pl_scale=0  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=8  , .oh=5  , .ow=6  , .oc=24 , .x_header=                  81961u, .x_header_p0=                  81929u, .w_header=           587873730601u, .w_header_p0=                    81929u , .debug_nhwc_words=5760  },
    {.n=8  , .l=1  , .kw=1  , .coe=24 , .coe_tl=0  , .r_ll=5  , .h=5  , .w=6  , .ci=24  , .co=10 , .w_kw2=6  , .t=1  , .p=2  , .cm=20 , .cm_p0=4  , .xp_words=672, .w_bpt=248  , .w_bpt_p0=56   , .x_bpt=6728 , .x_bpt_p0=1352 , .o_words=4200 , .o_bytes=2220 , .out_buffer_idx=1 , .add_out_buffer_idx=-1, .add_in_buffer_idx=-1, .is_bias=1  , .is_flatten=1  , .b_offset=64 , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=15 , .ca_pl_scale=3  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=5  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=5  , .psh_shift=0  , .csw=1  , .cw=6  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=6  , .psw_shift=0  , .pool=POOL_NONE , .on=1  , .oh=8  , .ow=1  , .oc=300, .x_header=                  82072u, .x_header_p0=                  81944u, .w_header=           656593207448u, .w_header_p0=                    81944u , .debug_nhwc_words=2400  },
    {.n=1  , .l=1  , .kw=1  , .coe=24 , .coe_tl=0  , .r_ll=8  , .h=8  , .w=1  , .ci=300 , .co=10 , .w_kw2=1  , .t=1  , .p=15 , .cm=20 , .cm_p0=20 , .xp_words=14 , .w_bpt=248  , .w_bpt_p0=248  , .x_bpt=148  , .x_bpt_p0=148  , .o_words=80   , .o_bytes=320  , .out_buffer_idx=-1, .add_out_buffer_idx=-1, .add_in_buffer_idx=-1, .is_bias=1  , .is_flatten=0  , .b_offset=88 , .b_val_shift=9  , .b_bias_shift=0  , .ca_nzero=1  , .ca_shift=15 , .ca_pl_scale=3  , .add_act_shift=0  , .pool_act_shift=0  , .csh=1  , .ch=8  , .csh_shift=0  , .pkh=1  , .psh=1  , .ph=8  , .psh_shift=0  , .csw=1  , .cw=1  , .csw_shift=0  , .pkw=1  , .psw=1  , .pw=1  , .psw_shift=0  , .pool=POOL_NONE , .on=1  , .oh=8  , .ow=1  , .oc=10 , .x_header=                    152u, .x_header_p0=                    152u, .w_header=           652835029144u, .w_header_p0=                      152u , .debug_nhwc_words=80    }
@@ -16,7 +16,7 @@ Bundle_t bundles [N_BUNDLES] = {
 #define PE_ROWS     8
 #define PE_COLS     24
 
-#define N_ADD_BUF   1
+#define N_ADD_BUF   2
 #define WB_BYTES    10048
 #define W_BYTES     9824
 #define X_BYTES     9096
diff --git a/test/py/param_test.py b/test/py/param_test.py
index 6530b45..141218f 100644
--- a/test/py/param_test.py
+++ b/test/py/param_test.py
@@ -190,13 +190,13 @@ def test_dnn_engine(COMPILE):
     x = x_in = Input(input_shape[1:], name='input')
     x = QActivation(xq)(x)
 
-    x = x_skip = Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':(11,11), 'strides':(2,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0)'    }, pool= {'type':'avg', 'size':(3,4), 'strides':(2,3), 'padding':'same', 'act_str':f'quantized_bits({c.X_BITS},0,False,False,1)'})(x)
-    x =          Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':( 1, 1), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_bits({c.X_BITS},0,False,False,1)'       },)(x)
-    x =          Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':( 7, 7), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':False, 'act_str':f'quantized_bits({c.X_BITS},0,False,True,1)'        }, add = {'act_str':f'quantized_bits({c.X_BITS},0,False,True,1)'})(x, x_skip)
-    x =          Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':( 5, 5), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0.125)'},)(x)
-    x =          Bundle( core= {'type':'conv' , 'filters':24, 'kernel_size':( 3, 3), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0)'    },)(x)
-    x =          Bundle( core= {'type':'conv' , 'filters':10, 'kernel_size':( 1, 1), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0.125)'}, flatten= True)(x)
-    x =          Bundle( core= {'type':'dense', 'units'  :10,                                                           'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0.125)'})(x)
+    x = x_skip1 = Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':(11,11), 'strides':(2,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0)'    }, pool= {'type':'avg', 'size':(3,4), 'strides':(2,3), 'padding':'same', 'act_str':f'quantized_bits({c.X_BITS},0,False,False,1)'})(x)
+    x = x_skip2 = Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':( 1, 1), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_bits({c.X_BITS},0,False,False,1)'       }, add = {'act_str':f'quantized_bits({c.X_BITS},0,False,True,1)'})(x, x_skip1)
+    x =           Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':( 7, 7), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':False, 'act_str':f'quantized_bits({c.X_BITS},0,False,True,1)'        }, add = {'act_str':f'quantized_bits({c.X_BITS},0,False,True,1)'})(x, x_skip2)
+    x =           Bundle( core= {'type':'conv' , 'filters':8 , 'kernel_size':( 5, 5), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0.125)'}, add = {'act_str':f'quantized_bits({c.X_BITS},0,False,True,1)'})(x, x_skip1)
+    x =           Bundle( core= {'type':'conv' , 'filters':24, 'kernel_size':( 3, 3), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0)'    },)(x)
+    x =           Bundle( core= {'type':'conv' , 'filters':10, 'kernel_size':( 1, 1), 'strides':(1,1), 'padding':'same', 'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0.125)'}, flatten= True)(x)
+    x =           Bundle( core= {'type':'dense', 'units'  :10,                                                           'kernel_quantizer':kq, 'bias_quantizer':bq, 'use_bias':True , 'act_str':f'quantized_relu({c.X_BITS},0,negative_slope=0.125)'})(x)
 
     model = Model(inputs=x_in, outputs=x)