diff --git a/src/main/resources/templates/gluon/CNNNet.ftl b/src/main/resources/templates/gluon/CNNNet.ftl
index c02d1732e5acfa7a6296f627230eb202144f38de..e2c102c8d304d428d8f0e7ac09c04f31c810c682 100644
--- a/src/main/resources/templates/gluon/CNNNet.ftl
+++ b/src/main/resources/templates/gluon/CNNNet.ftl
@@ -72,7 +72,7 @@ class Net(gluon.HybridBlock):
     def __init__(self, data_mean=None, data_std=None, **kwargs):
         super(Net, self).__init__(**kwargs)
         with self.name_scope():
-${tc.include(tc.architecture.body, "ARCHITECTURE_DEFINITION")}
+${tc.include(tc.architecture.streams[0], "ARCHITECTURE_DEFINITION")}
 
     def hybrid_forward(self, F, x):
-${tc.include(tc.architecture.body, "FORWARD_FUNCTION")}
\ No newline at end of file
+${tc.include(tc.architecture.streams[0], "FORWARD_FUNCTION")}
\ No newline at end of file
diff --git a/src/test/java/de/monticore/lang/monticar/cnnarch/gluongenerator/GenerationTest.java b/src/test/java/de/monticore/lang/monticar/cnnarch/gluongenerator/GenerationTest.java
index abe45750044437ca9a85a3442c31e746289ed516..c8b5d6f77d3f167313d5a2384578460411819637 100644
--- a/src/test/java/de/monticore/lang/monticar/cnnarch/gluongenerator/GenerationTest.java
+++ b/src/test/java/de/monticore/lang/monticar/cnnarch/gluongenerator/GenerationTest.java
@@ -128,6 +128,16 @@ public class GenerationTest extends AbstractSymtabTest {
         assertTrue(Log.getFindings().size() == 3);
     }
 
+    /* TODO: Uncomment when multiple streams are implemented
+    @Test
+    public void testMultipleStreams() throws IOException, TemplateException {
+        Log.getFindings().clear();
+        String[] args = {"-m", "src/test/resources/valid_tests", "-r", "MultipleStreams"};
+        CNNArch2GluonCli.main(args);
+        assertTrue(Log.getFindings().size() == 3);
+    }
+    */
+
     @Test
     public void testFullCfgGeneration() throws IOException, TemplateException {
         Log.getFindings().clear();
diff --git a/src/test/resources/architectures/Alexnet.cnna b/src/test/resources/architectures/Alexnet.cnna
index d42958dc3711d1e39dfc03522628cc252e6aab6f..048d808ec23183efb76014a92bdd40b3dd4d7875 100644
--- a/src/test/resources/architectures/Alexnet.cnna
+++ b/src/test/resources/architectures/Alexnet.cnna
@@ -39,5 +39,5 @@ architecture Alexnet(img_height=224, img_width=224, img_channels=3, classes=10){
     fc(->=2) ->
     FullyConnected(units=10) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/architectures/ResNeXt50.cnna b/src/test/resources/architectures/ResNeXt50.cnna
index 78cf41edebded64943170ee4e2d10f07b1447fc5..aed84f4717605cb572e5cc969f3af39a08b2faa1 100644
--- a/src/test/resources/architectures/ResNeXt50.cnna
+++ b/src/test/resources/architectures/ResNeXt50.cnna
@@ -40,5 +40,5 @@ architecture ResNeXt50(img_height=224, img_width=224, img_channels=3, classes=10
     GlobalPooling(pool_type="avg") ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/architectures/ResNet152.cnna b/src/test/resources/architectures/ResNet152.cnna
index 60031f27525974f816b5de7992101a132c51a589..27d7f6abc6ae6163c85d6de55aa8c17f4aeb3a3c 100644
--- a/src/test/resources/architectures/ResNet152.cnna
+++ b/src/test/resources/architectures/ResNet152.cnna
@@ -33,5 +33,5 @@ architecture ResNet152(img_height=224, img_width=224, img_channels=3, classes=10
     GlobalPooling(pool_type="avg") ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/architectures/ResNet34.cnna b/src/test/resources/architectures/ResNet34.cnna
index bf9173b022fab0159a735557f300cc1cb8f058a2..7742f98c2b27c71a0185da7d04e07b8cb2d011b0 100644
--- a/src/test/resources/architectures/ResNet34.cnna
+++ b/src/test/resources/architectures/ResNet34.cnna
@@ -31,5 +31,5 @@ architecture ResNet34(img_height=224, img_width=224, img_channels=3, classes=100
     GlobalPooling(pool_type="avg") ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
diff --git a/src/test/resources/architectures/SequentialAlexnet.cnna b/src/test/resources/architectures/SequentialAlexnet.cnna
index 66ad2a7cab6653e1b8b7421e820f59a454031a38..c02983afee2b6f9a4b82a737faade3209f090c17 100644
--- a/src/test/resources/architectures/SequentialAlexnet.cnna
+++ b/src/test/resources/architectures/SequentialAlexnet.cnna
@@ -25,5 +25,5 @@ architecture SequentialAlexnet(img_height=224, img_width=224, img_channels=3, cl
     fc() ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
diff --git a/src/test/resources/architectures/ThreeInputCNN_M14.cnna b/src/test/resources/architectures/ThreeInputCNN_M14.cnna
index 95f50f4c0ff2b229041fe79a437193e0dae09b58..d23221a448b0fbdd5c3ac79124a648d0cd14b997 100644
--- a/src/test/resources/architectures/ThreeInputCNN_M14.cnna
+++ b/src/test/resources/architectures/ThreeInputCNN_M14.cnna
@@ -28,5 +28,5 @@ architecture ThreeInputCNN_M14(img_height=200, img_width=300, img_channels=3, cl
     Relu() ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/architectures/VGG16.cnna b/src/test/resources/architectures/VGG16.cnna
index 7e4ad84d5dfb91bdf8c4ae487714ec54cbec56d4..b6df512adad21d04a39fa34bc2599c786866d789 100644
--- a/src/test/resources/architectures/VGG16.cnna
+++ b/src/test/resources/architectures/VGG16.cnna
@@ -27,5 +27,5 @@ architecture VGG16(img_height=224, img_width=224, img_channels=3, classes=1000){
     fc() ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/ArgumentConstraintTest1.cnna b/src/test/resources/invalid_tests/ArgumentConstraintTest1.cnna
deleted file mode 100644
index 8436e3ed0f66fade8fec04d98ad4d199a8c7d5c7..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/ArgumentConstraintTest1.cnna
+++ /dev/null
@@ -1,34 +0,0 @@
-architecture ArgumentConstraintTest1(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(kernel=(1,1), channels=75, stride=(stride,stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, channels=64, stride=2) ->
-    Pooling(pool_type="max", kernel=(3,3), stride=(2,2)) ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    GlobalPooling(pool_type="avg") ->
-    FullyConnected(units=classes, ->=true) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/ArgumentConstraintTest2.cnna b/src/test/resources/invalid_tests/ArgumentConstraintTest2.cnna
deleted file mode 100644
index 59b8611d0a3ae5a9959d39bc6a95d6966b646ac8..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/ArgumentConstraintTest2.cnna
+++ /dev/null
@@ -1,34 +0,0 @@
-architecture ArgumentConstraintTest2(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(kernel=(1,1), channels=96, stride=(stride,-stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, channels=64, stride=2) ->
-    Pooling(pool_type="max", kernel=(3,3), stride=(2,2)) ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    GlobalPooling(pool_type="avg") ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/ArgumentConstraintTest3.cnna b/src/test/resources/invalid_tests/ArgumentConstraintTest3.cnna
deleted file mode 100644
index ee333ab976ae703ae456d662dbbcceb963cf0860..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/ArgumentConstraintTest3.cnna
+++ /dev/null
@@ -1,34 +0,0 @@
-architecture ArgumentConstraintTest3(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(kernel=(1,1), channels=64, stride=(stride,stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, channels=64, stride=2) ->
-    Pooling(pool_type="max", kernel=(3,3), stride=(2,2), padding="valid") ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    GlobalPooling(pool_type="avg", ?=1) ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/ArgumentConstraintTest4.cnna b/src/test/resources/invalid_tests/ArgumentConstraintTest4.cnna
deleted file mode 100644
index f06b6a8de81d9e65bba21df3a2ba89885792bbab..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/ArgumentConstraintTest4.cnna
+++ /dev/null
@@ -1,34 +0,0 @@
-architecture ArgumentConstraintTest4(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(kernel=(1,1), channels=96, stride=(stride,stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, channels=64, stride=2) ->
-    Pooling(pool_type="max", kernel=(3,3), stride=(2,2), padding=1) ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    GlobalPooling(pool_type="avg") ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/ArgumentConstraintTest5.cnna b/src/test/resources/invalid_tests/ArgumentConstraintTest5.cnna
deleted file mode 100644
index 42446f06c1f364123e94ba197451c2307875aed5..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/ArgumentConstraintTest5.cnna
+++ /dev/null
@@ -1,34 +0,0 @@
-architecture ArgumentConstraintTest5(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(kernel=(1,-1), channels=96, stride=(stride,stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, channels=64, stride=2) ->
-    Pooling(pool_type="max", kernel=(3,3), stride=(2,2), padding="same") ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    GlobalPooling(pool_type="avg") ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/ArgumentConstraintTest6.cnna b/src/test/resources/invalid_tests/ArgumentConstraintTest6.cnna
deleted file mode 100644
index e046ce45c979e902e3cac45dea516b8b55a3be4f..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/ArgumentConstraintTest6.cnna
+++ /dev/null
@@ -1,34 +0,0 @@
-architecture ArgumentConstraintTest6(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(kernel=(1,1), channels=false, stride=(stride,stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, channels=64, stride=2) ->
-    Pooling(pool_type="max", kernel=(3,3), stride=(2,2), padding="valid") ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    GlobalPooling(pool_type="avg") ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/DuplicatedArgument.cnna b/src/test/resources/invalid_tests/DuplicatedArgument.cnna
deleted file mode 100644
index 6f885ac2d870ea5defa47394e835e82b921629c6..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/DuplicatedArgument.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture DuplicatedArgument(){
-    def input Q(-oo:+oo)^{10} in1
-    def output Q(0:1)^{2} out1
-
-    in1 ->
-    FullyConnected(units=64, units=32) ->
-    Tanh() ->
-    FullyConnected(units=2) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/DuplicatedIONames.cnna b/src/test/resources/invalid_tests/DuplicatedIONames.cnna
deleted file mode 100644
index 2940f406a499d2b76377266624025a6e353625b0..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/DuplicatedIONames.cnna
+++ /dev/null
@@ -1,16 +0,0 @@
-architecture DuplicatedIONames(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    def fc(){
-        FullyConnected(units=64) ->
-        Tanh()
-    }
-
-    in1 ->
-    fc() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/DuplicatedNames.cnna b/src/test/resources/invalid_tests/DuplicatedNames.cnna
deleted file mode 100644
index 1fbf822b9ed6149945d3f05d77684aebdb660d56..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/DuplicatedNames.cnna
+++ /dev/null
@@ -1,20 +0,0 @@
-architecture DuplicatedNames(inputs=10, inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    def fc(){
-        FullyConnected(units=64) ->
-        Tanh()
-    }
-
-    def fc(){
-        FullyConnected(units=64) ->
-        Tanh()
-    }
-
-    in1 ->
-    fc() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/IllegalIOName.cnna b/src/test/resources/invalid_tests/IllegalIOName.cnna
deleted file mode 100644
index cd2d66c6eaad39688620def9b778be4f56613ae8..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/IllegalIOName.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture IllegalIOName{
-    def input Q(-oo:+oo)^{10} data_
-    def output Q(0:1)^{2} predictions_
-
-    data_ ->
-    FullyConnected(units=64, no_bias=true) ->
-    Tanh() ->
-    FullyConnected(units=2, no_bias=true) ->
-    Softmax() ->
-    predictions_
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/IllegalName.cnna b/src/test/resources/invalid_tests/IllegalName.cnna
deleted file mode 100644
index ed8072165b2f326eb2a99a7206cd2b1676b42f33..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/IllegalName.cnna
+++ /dev/null
@@ -1,15 +0,0 @@
-architecture IllegalName(inputs=10, classes=2, Tg = 1){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    def Fc(){
-        FullyConnected(units=10)
-    }
-
-    in1 ->
-    FullyConnected(units=64) ->
-    Tanh() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/InvalidArrayAccessValue.cnna b/src/test/resources/invalid_tests/InvalidArrayAccessValue.cnna
deleted file mode 100644
index 1901cd81c1a71c5904493455cb5dca3e4e6486a9..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/InvalidArrayAccessValue.cnna
+++ /dev/null
@@ -1,27 +0,0 @@
-architecture InvalidArrayAccessValue(img_height=200, img_width=300, img_channels=3, classes=3){
-    def input Z(0:255)^{img_channels, img_height, img_width} image[3]
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels){
-        Convolution(kernel=kernel, channels=channels) ->
-        Relu()
-    }
-
-    def inputGroup(index){
-        [index] ->
-        conv(kernel=(3,3), channels=32, ->=3) ->
-        Pooling(pool_type="max", kernel=(2,2), stride=(2,2))
-    }
-
-    (image[0] | image[1] | image[2] | image[3]) ->
-    inputGroup(index=[0|..|2]) ->
-    Concatenate() ->
-    conv(kernel=(3,3), channels=64) ->
-    Pooling(pool_type="max", kernel=(2,2), stride=(2,2)) ->
-
-    FullyConnected(units=32) ->
-    Relu() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/InvalidIOShape1.cnna b/src/test/resources/invalid_tests/InvalidIOShape1.cnna
deleted file mode 100644
index 3f03ce0919dc87e763133d7a4dfb783066379ec7..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/InvalidIOShape1.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture InvalidIOShape1(){
-    def input Q(-oo:+oo)^{10, 2} in1
-    def output Q(0:1)^{10, 2, 2, 2} out1
-
-    in1 ->
-    FullyConnected(units=64) ->
-    Tanh() ->
-    FullyConnected(units=10) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/InvalidIOShape2.cnna b/src/test/resources/invalid_tests/InvalidIOShape2.cnna
deleted file mode 100644
index 3e746f60ca5a9ff54d6902c35bdadb342e9cac1e..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/InvalidIOShape2.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture InvalidIOShape2(){
-    def input Q(-oo:+oo)^{10.5} in1
-    def output Q(0:1)^{-10} out1
-
-    in1 ->
-    FullyConnected(units=64) ->
-    Tanh() ->
-    FullyConnected(units=10) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/InvalidInputShape.cnna b/src/test/resources/invalid_tests/InvalidInputShape.cnna
deleted file mode 100644
index 9fd7acb112637bbc70da161c430e173f082dcc35..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/InvalidInputShape.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture InvalidInputShape(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1[2]
-    def output Q(0:1)^{classes} out1[2]
-
-    in1 ->
-    FullyConnected(units=64) ->
-    Tanh() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/InvalidRecursion.cnna b/src/test/resources/invalid_tests/InvalidRecursion.cnna
deleted file mode 100644
index 188eaa9b0e9184a035e516b3e940d35a7beb7d3b..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/InvalidRecursion.cnna
+++ /dev/null
@@ -1,40 +0,0 @@
-architecture InvalidRecursion(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        resLayer(channels = 8) ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(kernel=(1,1), channels=channels, stride=(stride,stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, channels=64, stride=2) ->
-    Pooling(pool_type="max", kernel=(3,3), stride=(2,2)) ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    resLayer(channels=128, ->=3) ->
-    resLayer(channels=256, stride=2) ->
-    resLayer(channels=256, ->=5) ->
-    resLayer(channels=512, stride=2) ->
-    resLayer(channels=512, ->=2) ->
-    GlobalPooling(pool_type="avg") ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
diff --git a/src/test/resources/invalid_tests/MissingArgument.cnna b/src/test/resources/invalid_tests/MissingArgument.cnna
deleted file mode 100644
index 88441c4ef82e0c241d431252c6c2219e619fe878..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/MissingArgument.cnna
+++ /dev/null
@@ -1,34 +0,0 @@
-architecture MissingArgument(img_height=224, img_width=224, img_channels=3, classes=1000){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, stride=1, act=true){
-        Convolution(kernel=(kernel,kernel), channels=channels, stride=(stride,stride)) ->
-        BatchNorm() ->
-        Relu(?=act)
-    }
-    def skip(channels, stride){
-        Convolution(channels=96, stride=(stride,stride)) ->
-        BatchNorm()
-    }
-    def resLayer(channels, stride=1){
-        (
-            conv(kernel=3, channels=channels, stride=stride) ->
-            conv(kernel=3, channels=channels, stride=stride, act=false)
-        |
-            skip(channels=channels, stride=stride, ?=(stride!=1))
-        ) ->
-        Add() ->
-        Relu()
-    }
-
-    image ->
-    conv(kernel=7, stride=2) ->
-    Pooling(pool_type="max") ->
-    resLayer(channels=64, ->=3) ->
-    resLayer(channels=128, stride=2) ->
-    GlobalPooling(pool_type="avg") ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/MissingIO2.cnna b/src/test/resources/invalid_tests/MissingIO2.cnna
deleted file mode 100644
index c82202cf1adba46fa4696dfb5517ce0d3d074aaa..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/MissingIO2.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture MissingIO2(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1[2]
-    def output Q(0:1)^{classes} out1[2]
-
-    in1[0] ->
-    FullyConnected(units=64, no_bias=true) ->
-    Tanh() ->
-    FullyConnected(units=classes, no_bias=true) ->
-    Softmax() ->
-    out1[0]
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/MissingLayerOperator.cnna b/src/test/resources/invalid_tests/MissingLayerOperator.cnna
deleted file mode 100644
index 6cea4a6e78a65f88b63dc536157d7ff48da829c0..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/MissingLayerOperator.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture MissingLayerOperator(){
-    def input Q(-oo:+oo)^{10} in1
-    def output Q(0:1)^{2} out1
-
-    in1 ->
-    FullyConnected(units=64, no_bias=true) ->
-    Tanh()
-    FullyConnected(units=2, no_bias=true)
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/MissingMerge.cnna b/src/test/resources/invalid_tests/MissingMerge.cnna
deleted file mode 100644
index d2fb2e20e7da6374b1a68ffb88e65855357adcd6..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/MissingMerge.cnna
+++ /dev/null
@@ -1,24 +0,0 @@
-architecture MissingMerge(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    in1 ->
-    (
-        (
-            FullyConnected(units=16)
-        |
-            FullyConnected(units=16)
-        )
-    |
-        (
-            FullyConnected(units=16)
-        |
-            FullyConnected(units=16)
-        )
-    ) ->
-    Add() ->
-    Tanh() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/MissingParallelBrackets.cnna b/src/test/resources/invalid_tests/MissingParallelBrackets.cnna
deleted file mode 100644
index e8cacb56ac7e4756d2366e9a24ccbdfed6513983..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/MissingParallelBrackets.cnna
+++ /dev/null
@@ -1,45 +0,0 @@
-architecture MissingParallelBrackets(img_height=224, img_width=224, img_channels=3, classes=10){
-    def input Z(0:255)^{img_channels, img_height, img_width} image
-    def output Q(0:1)^{classes} predictions
-
-    def conv(kernel, channels, hasPool=true, convStride=(1,1)){
-        Convolution(kernel=kernel, channels=channels, stride=convStride) ->
-        Relu() ->
-        Pooling(pool_type="max", kernel=(3,3), stride=(2,2), ?=hasPool)
-    }
-    def fc(){
-        FullyConnected(units=4096) ->
-        Relu() ->
-        Dropout()
-    }
-
-    image ->
-    conv(kernel=(11,11), channels=96, convStride=(4,4)) ->
-    Lrn(nsize=5, alpha=0.0001, beta=0.75) ->
-
-        SplitData(index=0, n=2) ->
-        conv(kernel=(5,5), channels=128) ->
-        Lrn(nsize=5, alpha=0.0001, beta=0.75)
-    |
-        SplitData(index=1, n=2) ->
-        conv(kernel=(5,5), channels=128) ->
-        Lrn(nsize=5, alpha=0.0001, beta=0.75)
-    ->
-
-    conv(kernel=(3,3), channels=384 ,hasPool=false) ->
-
-        SplitData(index=0, n=2) ->
-        conv(kernel=(3,3), channels=192, hasPool=false) ->
-        conv(kernel=(3,3), channels=128)
-    |
-        SplitData(index=1, n=2) ->
-        conv(kernel=(3,3), channels=192, hasPool=false) ->
-        conv(kernel=(3,3), channels=128)
-    ->
-
-    fc() ->
-    fc() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    predictions
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/NotIOArray.cnna b/src/test/resources/invalid_tests/NotIOArray.cnna
deleted file mode 100644
index a1f16d82d7eb05da499fb48fb447a8c7b0b6e039..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/NotIOArray.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture NotIOArray(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    in1[1] ->
-    FullyConnected(units=64, no_bias=true) ->
-    Tanh() ->
-    FullyConnected(units=classes, no_bias=true) ->
-    Softmax() ->
-    out1[0]
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/UnfinishedArchitecture.cnna b/src/test/resources/invalid_tests/UnfinishedArchitecture.cnna
deleted file mode 100644
index 2f806bbdebad82b494fcffd4f40e56356f7643b9..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/UnfinishedArchitecture.cnna
+++ /dev/null
@@ -1,15 +0,0 @@
-architecture UnfinishedArchitecture(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    in1 ->
-    FullyConnected(units=64, no_bias=true) ->
-    Tanh() ->
-    (
-        FullyConnected(units=classes, no_bias=true) ->
-        Softmax() ->
-        out1
-    |
-
-    )
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/UnknownIO.cnna b/src/test/resources/invalid_tests/UnknownIO.cnna
deleted file mode 100644
index 409870861f93de1886f0d436fdb2e5ae72abac98..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/UnknownIO.cnna
+++ /dev/null
@@ -1,8 +0,0 @@
-architecture UnknownIO(){
-    in1 ->
-    FullyConnected(units=64) ->
-    Tanh() ->
-    FullyConnected(units=10) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/UnknownMethod.cnna b/src/test/resources/invalid_tests/UnknownMethod.cnna
deleted file mode 100644
index ec87f5e46e351df85bc672e4d0d7aa049a1d0ffd..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/UnknownMethod.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture UnknownMethod(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    in1 ->
-    FllyConnected(units=64, no_bias=true) ->
-    Tanh() ->
-    FullyConnected(units=classes, no_bias=true) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/UnknownVariableName.cnna b/src/test/resources/invalid_tests/UnknownVariableName.cnna
deleted file mode 100644
index 9f79070a29ada2190edd0ffbfafa84afe395308c..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/UnknownVariableName.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture UnknownVariableName(inputs=10){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{2} out1
-
-    in1 ->
-    FullyConnected(units=64) ->
-    Tanh() ->
-    FullyConnected(units=classes) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/WrongArgument.cnna b/src/test/resources/invalid_tests/WrongArgument.cnna
deleted file mode 100644
index 893b4ce5b2278b64c41bf65325417d0383d7d64b..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/WrongArgument.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture WrongArgument(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    in1 ->
-    FullyConnected(units=64, bias=true) ->
-    Tanh(asd=1) ->
-    FullyConnected(unit=classes) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/WrongIOType.cnna b/src/test/resources/invalid_tests/WrongIOType.cnna
deleted file mode 100644
index 11dae442e88949c498fd0510c192d4eb509b98f0..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/WrongIOType.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture WrongIOType(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    in1 ->
-    FullyConnected(units=64, no_bias=true) ->
-    Tanh() ->
-    FullyConnected(units=classes, no_bias=true) ->
-    Relu() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/invalid_tests/WrongRangeOperator.cnna b/src/test/resources/invalid_tests/WrongRangeOperator.cnna
deleted file mode 100644
index d6ddac77f9ccb13988c0d92ece35b702cc365d1e..0000000000000000000000000000000000000000
--- a/src/test/resources/invalid_tests/WrongRangeOperator.cnna
+++ /dev/null
@@ -1,11 +0,0 @@
-architecture WrongRangeOperator(inputs=10, classes=2){
-    def input Q(-oo:+oo)^{inputs} in1
-    def output Q(0:1)^{classes} out1
-
-    in1 ->
-    FullyConnected(units=[64->..|65]) ->
-    Tanh() ->
-    FullyConnected(units=[classes |..-> classes + 1] ) ->
-    Softmax() ->
-    out1
-}
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/Alexnet_alt.cnna b/src/test/resources/valid_tests/Alexnet_alt.cnna
index 9a27ff0662b09fa312505a8d97cd0916326b2558..edb3e40472b837bdbc0ca2771414334e4c5aeecc 100644
--- a/src/test/resources/valid_tests/Alexnet_alt.cnna
+++ b/src/test/resources/valid_tests/Alexnet_alt.cnna
@@ -49,5 +49,5 @@ architecture Alexnet_alt(img_height=224, img_width=224, img_channels=3, classes=
     Dropout() ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/Alexnet_alt2.cnna b/src/test/resources/valid_tests/Alexnet_alt2.cnna
index fab6f88ff515e689fa468498b0d5f80f3062a788..66248a9a0d751ce0c50e1926275a4606380a51a1 100644
--- a/src/test/resources/valid_tests/Alexnet_alt2.cnna
+++ b/src/test/resources/valid_tests/Alexnet_alt2.cnna
@@ -35,5 +35,5 @@ architecture Alexnet_alt2(img_height=224, img_width=224, img_channels=3, classes
     fc(-> = 2) ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/ArgumentSequenceTest.cnna b/src/test/resources/valid_tests/ArgumentSequenceTest.cnna
index 28e95e1ff40874f20c7c32d939b4b000be4cfd32..bf695c4a211ce5ca413367a57be5e5d09fc1c71c 100644
--- a/src/test/resources/valid_tests/ArgumentSequenceTest.cnna
+++ b/src/test/resources/valid_tests/ArgumentSequenceTest.cnna
@@ -9,5 +9,5 @@ architecture ArgumentSequenceTest {
     Concatenate() ->
     FullyConnected(units=10) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/CifarClassifierNetwork.cnna b/src/test/resources/valid_tests/CifarClassifierNetwork.cnna
index 5eba01404eda879e2b48ff02c975e077fa2de05d..25f351152d97d750511ab3672b76d47b4468d7c7 100644
--- a/src/test/resources/valid_tests/CifarClassifierNetwork.cnna
+++ b/src/test/resources/valid_tests/CifarClassifierNetwork.cnna
@@ -31,5 +31,5 @@ architecture CifarClassifierNetwork(classes=10){
     Dropout()->
     FullyConnected(units=classes) ->
     Softmax() ->
-    softmax
+    softmax;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/Fixed_Alexnet.cnna b/src/test/resources/valid_tests/Fixed_Alexnet.cnna
index 656e6186c7471dfc97af709b457dd55b2eaa2bd0..992a3adbb33be184cd61755f6cdc29064e81c11f 100644
--- a/src/test/resources/valid_tests/Fixed_Alexnet.cnna
+++ b/src/test/resources/valid_tests/Fixed_Alexnet.cnna
@@ -39,5 +39,5 @@ architecture Fixed_Alexnet(){
     fc(->=2) ->
     FullyConnected(units=10) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/Fixed_ThreeInputCNN_M14.cnna b/src/test/resources/valid_tests/Fixed_ThreeInputCNN_M14.cnna
index 8fe709e1152302bf1176a47366fc8f3bc04f99f5..f65be3742ac2b01cb71ea264ecdf30c0d6460def 100644
--- a/src/test/resources/valid_tests/Fixed_ThreeInputCNN_M14.cnna
+++ b/src/test/resources/valid_tests/Fixed_ThreeInputCNN_M14.cnna
@@ -23,5 +23,5 @@ architecture Fixed_ThreeInputCNN_M14(){
     Relu() ->
     FullyConnected(units=3) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/MultipleOutputs.cnna b/src/test/resources/valid_tests/MultipleOutputs.cnna
index 2682693ff363cc25c481906028c5ffa5144f63d5..a7b7eff825f35f9499815de62aa5c9108d9834e0 100644
--- a/src/test/resources/valid_tests/MultipleOutputs.cnna
+++ b/src/test/resources/valid_tests/MultipleOutputs.cnna
@@ -16,6 +16,6 @@ architecture MultipleOutputs{
         FullyConnected(units=4, no_bias=true) ->
         Softmax()
     ) ->
-    pred
+    pred;
 
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/MultipleStreams.cnna b/src/test/resources/valid_tests/MultipleStreams.cnna
new file mode 100644
index 0000000000000000000000000000000000000000..e0c5010a85d2e7ff70abeb77d77f4a708b7ee0d4
--- /dev/null
+++ b/src/test/resources/valid_tests/MultipleStreams.cnna
@@ -0,0 +1,14 @@
+architecture MultipleStreams{
+    def input Q(-oo:+oo)^{10} data[2]
+    def output Q(0:1)^{4} pred[2]
+
+    data[0] ->
+    FullyConnected(units=4, no_bias=true) ->
+    Softmax() ->
+    pred[0];
+
+    data[1] ->
+    FullyConnected(units=4, no_bias=true) ->
+    Softmax() ->
+    pred[1];
+}
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/ResNeXt50_InstanceTest.cnna b/src/test/resources/valid_tests/ResNeXt50_InstanceTest.cnna
index ad939bff566cd018f41656db07cbacdfc3d9c671..07b67e0720b1a48edc4ebb264e5a559eb4a91903 100644
--- a/src/test/resources/valid_tests/ResNeXt50_InstanceTest.cnna
+++ b/src/test/resources/valid_tests/ResNeXt50_InstanceTest.cnna
@@ -40,5 +40,5 @@ architecture ResNeXt50_InstanceTest(img_height=224, img_width=224, img_channels=
     GlobalPooling(pool_type="avg") ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/ResNeXt50_alt.cnna b/src/test/resources/valid_tests/ResNeXt50_alt.cnna
index 6fa681bd748046e38968704c789c0549e979a499..f3afac0e5c2328bac739409df2acfa3d547d8d0c 100644
--- a/src/test/resources/valid_tests/ResNeXt50_alt.cnna
+++ b/src/test/resources/valid_tests/ResNeXt50_alt.cnna
@@ -42,5 +42,5 @@ architecture ResNeXt50_alt(img_height=224, img_width=224, img_channels=3, classe
     GlobalPooling(pool_type="avg") ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/ResNet152_alt.cnna b/src/test/resources/valid_tests/ResNet152_alt.cnna
index dfba32db4d4ca996d2284a08d5cc23d529fd735c..23c06015855ef851c283b8a55e0303b3a63da7ae 100644
--- a/src/test/resources/valid_tests/ResNet152_alt.cnna
+++ b/src/test/resources/valid_tests/ResNet152_alt.cnna
@@ -36,5 +36,5 @@ architecture ResNet152_alt(img_height=224, img_width=224, img_channels=3, classe
     GlobalPooling(pool_type="avg") ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/SimpleNetworkLinear.cnna b/src/test/resources/valid_tests/SimpleNetworkLinear.cnna
index cbb8a38bc79bfc28550aef7f6ede8755de278d04..2eabd3355d4f221a094e72074a7fe7f6eeed5468 100644
--- a/src/test/resources/valid_tests/SimpleNetworkLinear.cnna
+++ b/src/test/resources/valid_tests/SimpleNetworkLinear.cnna
@@ -6,5 +6,5 @@ architecture SimpleNetworkLinear(inputs=10, classes=2){
     FullyConnected(units=64, no_bias=true) ->
     Tanh() ->
     FullyConnected(units=classes, no_bias=true) ->
-    out1
+    out1;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/SimpleNetworkRelu.cnna b/src/test/resources/valid_tests/SimpleNetworkRelu.cnna
index 9d8354ce52cfd5e3695842e303ec748e03ba3de2..459187c78670910ad2c97031dccda6831181220f 100644
--- a/src/test/resources/valid_tests/SimpleNetworkRelu.cnna
+++ b/src/test/resources/valid_tests/SimpleNetworkRelu.cnna
@@ -7,5 +7,5 @@ architecture SimpleNetworkRelu(inputs=10, classes=2){
     Tanh() ->
     FullyConnected(units=classes, no_bias=true) ->
     Relu() ->
-    out1
+    out1;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/SimpleNetworkSigmoid.cnna b/src/test/resources/valid_tests/SimpleNetworkSigmoid.cnna
index 08098a6bb67116d5b7b6d157c843c94aed593f99..d938be2c339724e74d7fc46d3292da4dc5430723 100644
--- a/src/test/resources/valid_tests/SimpleNetworkSigmoid.cnna
+++ b/src/test/resources/valid_tests/SimpleNetworkSigmoid.cnna
@@ -7,5 +7,5 @@ architecture SimpleNetworkSigmoid(inputs=10, classes=2){
     Tanh() ->
     FullyConnected(units=classes, no_bias=true) ->
     Sigmoid() ->
-    out1
+    out1;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/SimpleNetworkSoftmax.cnna b/src/test/resources/valid_tests/SimpleNetworkSoftmax.cnna
index 5c0643c8d658bc48aef4a7a11b038b0cd99d11f4..2feb4f721981c2302b388ca14a6ab63401b10a52 100644
--- a/src/test/resources/valid_tests/SimpleNetworkSoftmax.cnna
+++ b/src/test/resources/valid_tests/SimpleNetworkSoftmax.cnna
@@ -7,5 +7,5 @@ architecture SimpleNetworkSoftmax(inputs=10, classes=2){
     Tanh() ->
     FullyConnected(units=classes, no_bias=true) ->
     Softmax() ->
-    out1
+    out1;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/SimpleNetworkTanh.cnna b/src/test/resources/valid_tests/SimpleNetworkTanh.cnna
index bd1ffec3b65d7430fd375f183e51b197f39dcd2d..f62e20e4ba3f4259b5cc794407b76c5fa143cfa6 100644
--- a/src/test/resources/valid_tests/SimpleNetworkTanh.cnna
+++ b/src/test/resources/valid_tests/SimpleNetworkTanh.cnna
@@ -7,5 +7,5 @@ architecture SimpleNetworkTanh(inputs=10, classes=2){
     Tanh() ->
     FullyConnected(units=classes, no_bias=true) ->
     Tanh() ->
-    out1
+    out1;
 }
\ No newline at end of file
diff --git a/src/test/resources/valid_tests/ThreeInputCNN_M14_alternative.cnna b/src/test/resources/valid_tests/ThreeInputCNN_M14_alternative.cnna
index 5b73e1d15d63d6d16bf7cc1f33e1b263a6562fdb..054a53c09c2168ca7123ef32cf680e5f2c1e6ace 100644
--- a/src/test/resources/valid_tests/ThreeInputCNN_M14_alternative.cnna
+++ b/src/test/resources/valid_tests/ThreeInputCNN_M14_alternative.cnna
@@ -28,5 +28,5 @@ architecture ThreeInputCNN_M14_alternative(img_height=200, img_width=300, img_ch
     Relu() ->
     FullyConnected(units=classes) ->
     Softmax() ->
-    predictions
+    predictions;
 }
diff --git a/src/test/resources/valid_tests/data_paths.txt b/src/test/resources/valid_tests/data_paths.txt
index 25531c98c1ec86faa46e5e2c9a846908e0073f09..877fea8a80003deb0e855e833d3452b869ce0d23 100644
--- a/src/test/resources/valid_tests/data_paths.txt
+++ b/src/test/resources/valid_tests/data_paths.txt
@@ -3,4 +3,5 @@ CifarClassifierNetwork data/CifarClassifierNetwork
 ThreeInputCNN_M14 data/ThreeInputCNN_M14
 Alexnet data/Alexnet
 MultipleOutputs data/MultipleOutputs
-ResNeXt50 data/ResNeXt50
\ No newline at end of file
+ResNeXt50 data/ResNeXt50
+MultipleStreams data/MultipleStreams
\ No newline at end of file