diff --git a/app/services/projects/import_export/import_export.yml b/app/services/projects/import_export/import_export.yml
index be7680775bae5c99d24022f51a36b1af9b0f9bf6..16a212d4c3860319cdd9b1a3798fa900081f5174 100644
--- a/app/services/projects/import_export/import_export.yml
+++ b/app/services/projects/import_export/import_export.yml
@@ -1,4 +1,4 @@
-# Class relationships to be included in the project import/export
+# Model relationships to be included in the project import/export
 :project_tree:
   - :issues
   - :labels
@@ -13,6 +13,7 @@
   - :commit_statuses:
     - :commit
 
+# Only include the following attributes for the models specified.
 :attributes_only:
   :project:
     - :name
@@ -30,6 +31,7 @@
     - :email
     - :username
 
+# Do not include the following attributes for the models specified.
 :attributes_except:
   :snippets:
     - :expired_at
\ No newline at end of file
diff --git a/app/services/projects/import_export/project_tree_restorer.rb b/app/services/projects/import_export/project_tree_restorer.rb
index ca68840e988da41d822e38761c17f2b5f5835363..9512fcb2a1ab796848945329cf1e5eddc2b76cd6 100644
--- a/app/services/projects/import_export/project_tree_restorer.rb
+++ b/app/services/projects/import_export/project_tree_restorer.rb
@@ -11,29 +11,25 @@ module Projects
       def restore
         json = IO.read(@path)
         @tree_hash = ActiveSupport::JSON.decode(json)
+        @project_members = @tree_hash.delete('project_members')
         create_relations
-        puts project.inspect
       end
 
       private
 
       def members_map
         @members ||= Projects::ImportExport::MembersMapper.map(
-          exported_members: @tree_hash.delete('project_members'), user: @user, project_id: project.id)
+          exported_members: @project_members, user: @user, project_id: project.id)
       end
 
-      #TODO Definitely refactor this method!
-      #TODO Think about having a yaml file to describe the tree instead of just hashes?
       def create_relations(relation_list = default_relation_list, tree_hash = @tree_hash)
-        members_map # TODO remove this and fix project_members
         relation_list.each do |relation|
           if relation.is_a?(Hash)
-            relation.values.each do |value|
-              create_relations(value, @tree_hash[relation.to_s])
-            end
+            create_sub_relations(relation, tree_hash)
           end
-          relation_hash = create_relation(relation, tree_hash[relation.to_s])
-          project.update_attribute(relation, relation_hash)
+          relation_key = relation.is_a?(Hash) ? relation.keys.first : relation
+          relation_hash = create_relation(relation_key, tree_hash[relation_key.to_s])
+          project.update_attribute(relation_key, relation_hash)
           # relation_hash = nil
           # # FIXME
           # # next if tree_hash[relation.to_s].blank?
@@ -56,10 +52,7 @@ module Projects
       end
 
       def default_relation_list
-        Projects::ImportExport::ImportExportReader.tree
-        # ImportExport.project_tree.reject do |rel|
-        #   rel.is_a?(Hash) && !rel[:project_members].blank?
-        # end
+        Projects::ImportExport::ImportExportReader.tree.reject { |model| model.is_a?(Hash) && model[:project_members] }
       end
 
       def project
@@ -74,6 +67,20 @@ module Projects
         project
       end
 
+      def create_sub_relations(relation, tree_hash)
+        # TODO refactor this
+        relation_key = relation.keys.first
+        tree_hash[relation_key.to_s].each do |relation_item|
+          relation.values.each do |sub_relation|
+            relation_hash = relation_item[sub_relation.to_s]
+            next if relation_hash.blank?
+            sub_relation_object = Projects::ImportExport::RelationFactory.create(
+              relation_sym: sub_relation, relation_hash: relation_hash, members_map: members_map)
+            relation_item[sub_relation.to_s] = sub_relation_object
+          end
+        end
+      end
+
       def create_relation(relation, relation_hash_list)
         [relation_hash_list].flatten.map do |relation_hash|
           Projects::ImportExport::RelationFactory.create(