diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b316010fa41fed3c130a54d39e9e56da28bb58fc..d8089eac2e5bbd01406cd174ca91660fc0518057 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,7 +15,7 @@ buildStatic:
   image: svirlyu/sscocaller_nsb
   stage: buildStatic
   script:
-    - /usr/local/bin/nsb -s sgcocaller.nim -n sgcocaller.nimble -o . -- --d:release --threads:on
+    - /usr/local/bin/nsb -s ./src/sgcocaller.nim -n sgcocaller.nimble -o . -- --d:release --threads:on
     - ls -l .
   artifacts:
     paths:
diff --git a/Dockerfile b/Dockerfile
index ed6db85effa3ddf5772e39bcfc12c81586a0ee38..6e5fbe64964869f854c40d1401a1be041134e28c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -66,7 +66,6 @@ RUN \
 
 ENV HTSLIB=system
 ENV PATH=$PATH:~/.cargo/bin/
-
 #ADD . /src/
 
 RUN nimble install -y https://github.com/ruqianl/sgcocaller.git
diff --git a/src/private/correctPhase b/src/private/correctPhase
new file mode 100755
index 0000000000000000000000000000000000000000..e907021375f86405d292673bbea9480d593055cc
Binary files /dev/null and b/src/private/correctPhase differ
diff --git a/private/correctPhase.nim b/src/private/correctPhase.nim
similarity index 100%
rename from private/correctPhase.nim
rename to src/private/correctPhase.nim
diff --git a/private/findGtNodes.nim b/src/private/findGtNodes.nim
similarity index 100%
rename from private/findGtNodes.nim
rename to src/private/findGtNodes.nim
diff --git a/private/findPath.nim b/src/private/findPath.nim
similarity index 100%
rename from private/findPath.nim
rename to src/private/findPath.nim
diff --git a/private/findTemplateCell.nim b/src/private/findTemplateCell.nim
similarity index 100%
rename from private/findTemplateCell.nim
rename to src/private/findTemplateCell.nim
diff --git a/private/getGtMtx.nim b/src/private/getGtMtx.nim
similarity index 100%
rename from private/getGtMtx.nim
rename to src/private/getGtMtx.nim
diff --git a/private/graph.nim b/src/private/graph.nim
similarity index 100%
rename from private/graph.nim
rename to src/private/graph.nim
diff --git a/private/inferMissingSnps.nim b/src/private/inferMissingSnps.nim
similarity index 100%
rename from private/inferMissingSnps.nim
rename to src/private/inferMissingSnps.nim
diff --git a/src/private/sgcocaller_sxo b/src/private/sgcocaller_sxo
new file mode 100755
index 0000000000000000000000000000000000000000..4ec5d311d88208b3284f2603f2b08643887da575
Binary files /dev/null and b/src/private/sgcocaller_sxo differ
diff --git a/private/sgcocaller_sxo.nim b/src/private/sgcocaller_sxo.nim
similarity index 100%
rename from private/sgcocaller_sxo.nim
rename to src/private/sgcocaller_sxo.nim
diff --git a/src/private/sgphase b/src/private/sgphase
new file mode 100755
index 0000000000000000000000000000000000000000..17031c44b81c58833b05bbb73725481aaf1eafe1
Binary files /dev/null and b/src/private/sgphase differ
diff --git a/private/sgphase.nim b/src/private/sgphase.nim
similarity index 100%
rename from private/sgphase.nim
rename to src/private/sgphase.nim
diff --git a/private/utils.nim b/src/private/utils.nim
similarity index 100%
rename from private/utils.nim
rename to src/private/utils.nim
diff --git a/private/writeVCF.nim b/src/private/writeVCF.nim
similarity index 100%
rename from private/writeVCF.nim
rename to src/private/writeVCF.nim
diff --git a/src/private/write_out_vcf b/src/private/write_out_vcf
new file mode 100755
index 0000000000000000000000000000000000000000..b8d2eb778bb46e979794a58af1667b2da1fb53f7
Binary files /dev/null and b/src/private/write_out_vcf differ
diff --git a/sgcocaller.nim b/src/sgcocaller.nim
similarity index 100%
rename from sgcocaller.nim
rename to src/sgcocaller.nim