--- a/src/main/java/converter/EPCManager.java
+++ b/src/main/java/converter/EPCManager.java
@@ -19,15 +19,15 @@
 /**
  * Created by miguel on 06-05-2014.
  */
-public class EPCManager implements Manager {
+public class EPCManager {
 
-    private EpcFactory epcFactory;
-    private EPCModel epcModel;
+    private EpcFactory factory;
+    private EPCModel model;
     private HashMap<String, Object> elements;
 
     public EPCManager() {
-        epcFactory = EpcFactory.eINSTANCE;
-        epcModel = epcFactory.createEPCModel();
+        factory = EpcFactory.eINSTANCE;
+        model = factory.createEPCModel();
         elements = new HashMap<String, Object>();
     }
 
@@ -35,23 +35,22 @@
     public void addActivity(String id, String name) {
         System.out.println(".. Adding Activity " + name);
 
-        Function function = epcFactory.createFunction();
+        Function function = factory.createFunction();
         function.setUuid(id);
         function.setName(name);
 
-        epcModel.getElements().add(function);
+        model.getElements().add(function);
         elements.put(id, function);
     }
 
-    @Override
     public void addFlow(String idFrom, String idTo) {
         System.out.println("Adding flow from " + ((EPCFlowNode) elements.get(idFrom)).getName() + " to " + ((EPCFlowNode) elements.get(idTo)).getName() + "...");
 
-        FlowConnection connection = epcFactory.createFlowConnection();
+        FlowConnection connection = factory.createFlowConnection();
         connection.setUuid(UUID.randomUUID().toString());
         connection.setSource((EPCFlowNode) elements.get(idFrom));
         connection.setTarget((EPCFlowNode) elements.get(idTo));
-        epcModel.getConnections().add(connection);
+        model.getConnections().add(connection);
         ((EPCFlowNode) elements.get(idFrom)).getOutgoing().add(connection);
         ((EPCFlowNode) elements.get(idTo)).getIncoming().add(connection);
     }
@@ -59,88 +58,68 @@
 
     public void addMerge(String id, String name) {
         System.out.println(".. Adding Merge Element " + name);
-        JoinLogicGate merge = epcFactory.createJoinLogicGate();
+        JoinLogicGate merge = factory.createJoinLogicGate();
         merge.setUuid(id);
         merge.setName(name);
 
-        epcModel.getElements().add(merge);
+        model.getElements().add(merge);
         elements.put(id, merge);
 
     }
 
     public void addFork(String id, String name) {
         System.out.println(".. Adding Fork Element " + name);
-        SplitLogicGate fork = epcFactory.createSplitLogicGate();
+        SplitLogicGate fork = factory.createSplitLogicGate();
         fork.setUuid(id);
         fork.setName(name);
 
-        epcModel.getElements().add(fork);
+        model.getElements().add(fork);
         elements.put(id, fork);
 
     }
 
     public void addJoin(String id, String name) {
         System.out.println(".. Adding Join Element " + name);
-        JoinLogicGate join = epcFactory.createJoinLogicGate();
+        JoinLogicGate join = factory.createJoinLogicGate();
         join.setUuid(id);
         join.setName(name);
 
-        epcModel.getElements().add(join);
+        model.getElements().add(join);
         elements.put(id, join);
 
     }
 
     public void addDecision(String id, String name) {
         System.out.println(".. Adding Decision Element " + name);
-        SplitLogicGate decision = epcFactory.createSplitLogicGate();
+        SplitLogicGate decision = factory.createSplitLogicGate();
         decision.setUuid(id);
         decision.setGateType(LogicGateType.XOR);
         decision.setName(name);
 
-        epcModel.getElements().add(decision);
+        model.getElements().add(decision);
         elements.put(id, decision);
 
     }
 
     public void addStart(String id, String name) {
         System.out.println(".. Adding Start Element " + name);
-        Event start = epcFactory.createEvent();
+        Event start = factory.createEvent();
         start.setName(name);
         start.setUuid(id);
         elements.put(id, start);
 
-        epcModel.getElements().add(start);
-    }
-
-    @Override
-    public void addArtificialStart(String flowToId) {
-        if (elements.containsKey(flowToId) && elements.get(flowToId).getClass() != Event.class) {
-            System.out.println(".. Adding Infered Start Element flowing to " + ((EPCDiagramElement) elements.get(flowToId)).getName());
-            String uuid = UUID.randomUUID().toString();
-            addStart(uuid, "INF_START");
-            addFlow(uuid, flowToId);
-        }
+        model.getElements().add(start);
     }
 
     public void addFinish(String id, String name) {
         System.out.println(".. Adding Finish Element " + name);
-        Event end = epcFactory.createEvent();
+        Event end = factory.createEvent();
         end.setUuid(id);
         end.setName(name);
 
         elements.put(id, end);
 
-        epcModel.getElements().add(end);
-    }
-
-    @Override
-    public void addArtificialFinish(String flowFromId) {
-        if (elements.containsKey(flowFromId) && elements.get(flowFromId).getClass() != Event.class) {
-            System.out.println(".. Adding Infered End Element flowing from " + ((EPCDiagramElement) elements.get(flowFromId)).getName());
-            String uuid = UUID.randomUUID().toString();
-            addFinish(uuid, "INF_END");
-            addFlow(flowFromId, uuid);
-        }
+        model.getElements().add(end);
     }
 
     public void saveModel(String path) {
@@ -151,7 +130,7 @@
         String newFileString = new File(path).getAbsolutePath();
         URI fileURI = URI.createFileURI(newFileString);
         Resource resource = resSet.createResource(fileURI);
-        resource.getContents().add(epcModel);
+        resource.getContents().add(model);
         try {
             resource.save(Collections.EMPTY_MAP);
         } catch (IOException e) {