diff --git a/modules/ansible_generator.py b/modules/ansible_generator.py
index 00ee4668543d3afb6392e1c18dd06d8390e80579..a0c70728f01f562f971018a76724f1fb325eb292 100644
--- a/modules/ansible_generator.py
+++ b/modules/ansible_generator.py
@@ -1,4 +1,4 @@
-from modules.file_manager import generate_file
+from modules.file_manager import generate_file, copy_template_file
 from modules.ansible_vars_generator import generate_ansible_vars
 
     
@@ -15,9 +15,9 @@ def _create_config_playbooks(input_definitions, flags):
 def _create_user_playbooks(input_definitions):
     """ Generates template playbooks and roles for users. """
 
-    generate_file("playbook", "provisioning/playbook.yml")
-    generate_file("user_hosts", "provisioning/roles/hosts/tasks/main.yml")
-    generate_file("user_routers", "provisioning/roles/routers/tasks/main.yml")
+    copy_template_file("playbook", "provisioning/playbook.yml")
+    copy_template_file("user_hosts", "provisioning/roles/hosts/tasks/main.yml")
+    copy_template_file("user_routers", "provisioning/roles/routers/tasks/main.yml")
 
     for host in input_definitions["hosts"]:
         generate_file("user_separate_hosts", "provisioning/roles/" + host["name"] + "/tasks/main.yml", host_name=host["name"])
diff --git a/modules/file_manager.py b/modules/file_manager.py
index acd95eacc40b1aea44a05125714cc2286cd7270d..9bf009150bc4936b69b6b61a656c02ddaf42fa80 100644
--- a/modules/file_manager.py
+++ b/modules/file_manager.py
@@ -1,9 +1,9 @@
 """ This module handles file imports and creations in general. """
 
-import jinja2
 import os
-import shutil
-import yaml
+from jinja2 import Environment, FileSystemLoader
+from shutil import copyfile, rmtree
+from yaml import dump, safe_load
 
 OUTPUT_DIRECTORY = "sandbox"
 
@@ -12,19 +12,24 @@ def open_yaml(file_name):
     """ Opens and returns a file from the argument. """
     try:
         input_file = open(str(file_name))
-        return yaml.safe_load(input_file)
+        return safe_load(input_file)
     except IOError:
         print("Error: Cannot open the required file: " + str(file_name))
         raise
     finally:
         input_file.close()
 
+
 def copy_template_file(template, destination):
     """ Copies playbook templates that does not need jinja or yaml to the
     destination.
     """
 
-    copyfile("templates/" + template, "sandbox/" + destination)
+    try:
+        copyfile("templates/" + template, "sandbox/" + destination)
+    except IOError:
+        print("Error: cannot write to this location.")
+        raise
 
 
 def dump_to_yaml(data, filename):
@@ -36,7 +41,7 @@ def dump_to_yaml(data, filename):
 
     try:
         stream = open(OUTPUT_DIRECTORY + "/" + filename, 'w')
-        yaml.dump(data, stream)
+        dump(data, stream)
     except IOError:
         print("Error: cannot write to this location.")
         raise
@@ -71,10 +76,11 @@ def _write_to_file(filename, output_string):
 def _load_template(template_name):
     """ Returns a loaded jinja2 template. """
 
-    template_loader = jinja2.FileSystemLoader(searchpath="templates")
-    template_env = jinja2.Environment(loader=template_loader, trim_blocks=True, lstrip_blocks=True)
+    template_loader = FileSystemLoader(searchpath="templates")
+    template_env = Environment(loader=template_loader, trim_blocks=True, lstrip_blocks=True)
     return template_env.get_template(template_name)
 
+
 def _create_provisioning_directories(directory, device_definitions):
     """ Creates all subdirectories for privisioning. """
 
@@ -107,11 +113,10 @@ def _create_provisioning_directories(directory, device_definitions):
         raise
 
 
-
 def prepare_directories(device_definitions):
     """ Prepares the necessary directory structure. """
 
-    shutil.rmtree(OUTPUT_DIRECTORY, True)
+    rmtree(OUTPUT_DIRECTORY, True)
     
     try:
         os.mkdir(OUTPUT_DIRECTORY)
@@ -121,8 +126,3 @@ def prepare_directories(device_definitions):
 
     _create_provisioning_directories("base_provisioning", device_definitions)
     _create_provisioning_directories("provisioning", device_definitions)
-    
-
-    
-    
-