diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1c107cbaaa8ff65771eab20da176ae654725d4a4..1a36dcdcad4a0173f3533b67890d629ea2fd43af 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,7 @@ build_lab1:
     - vagrant destroy -f
   script:
     - mkdir dist
-    - vagrant ssh -c 'cd /vagrant; python build_lab1.py'
+    - vagrant ssh -c 'cd /vagrant; python build.py lab1'
   artifacts:
      paths:
        - dist/lab1/*.pdf
diff --git a/build_lab1.py b/build.py
similarity index 66%
rename from build_lab1.py
rename to build.py
index 7c1d5a3f3e1a80cee09358c7b4e0fad3ba2b9add..f6ebacb33c6c8f6e42bd9a33f02bbf2ef61a0fec 100644
--- a/build_lab1.py
+++ b/build.py
@@ -1,11 +1,14 @@
 #! /usr/bin/env python
 # coding=UTF-8
 from __future__ import print_function
-import os, json
+import os, json, sys
 
 
 if __name__ == '__main__':
 
+    dist_lp = 'dist/' + sys.argv[1] + '/'
+    src_md = 'src/' + sys.argv[1] + '.md'
+
     with open('src/header.md') as fh, open('src/footer.md', 'rb') as ff:
         header_bin = fh.read()
         footer_bin = fh.read()
@@ -18,11 +21,11 @@ if __name__ == '__main__':
 
     # Lab1
     try:
-        os.mkdir('dist/lab1')
+        os.mkdir(dist_lp)
     except OSError:
         pass
 
-    with open('src/lab1.md', 'rb') as labin, open('src/lab1.json', 'rb') as datin:
+    with open(src_md, 'rb') as labin, open('src/lab1.json', 'rb') as datin:
         data = json.load(datin)
         lab = labin.read().decode('utf8')
 
@@ -34,12 +37,12 @@ if __name__ == '__main__':
         for k, v in d.iteritems():
             plab = plab.replace(u'$%s$' % (k, ), v)
 
-        with open('dist/lab1/%s.md' % (ex_no, ), 'wb') as labout:
+        with open(dist_lp+'%s.md' % (ex_no, ), 'wb') as labout:
             labout.write(header_bin)
             labout.write(plab.encode('utf8'))
             labout.write(footer_bin)
 
-        os.system('pandoc dist/lab1/%s.md -s -o dist/lab1/%s.pdf' % (ex_no, ex_no))
-        os.unlink('dist/lab1/%s.md' % (ex_no, ))
+        os.system(('pandoc '+dist_lp+'%s.md -s -o dist/lab1/%s.pdf') % (ex_no, ex_no))
+        os.unlink(dist_lp+'%s.md' % (ex_no, ))