new attempt at build method - if gzip is enabled then files are copied one by one and zipped where relevant, if not shutil.copytree is used