diff --git a/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/dom/IEtlVisitor.java b/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/dom/IEtlVisitor.java
new file mode 100644
index 0000000..9ac7df4
--- /dev/null
+++ b/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/dom/IEtlVisitor.java
@@ -0,0 +1,9 @@
+package org.eclipse.epsilon.etl.dom;
+
+import org.eclipse.epsilon.erl.dom.IErlVisitor;
+
+public interface IEtlVisitor extends IErlVisitor{
+	
+	public void visit(TransformationRule transformationRule);
+
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/dom/TransformationRule.java b/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/dom/TransformationRule.java
index fb0021a..01334a3 100644
--- a/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/dom/TransformationRule.java
+++ b/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/dom/TransformationRule.java
@@ -260,6 +260,11 @@
 			&& appliesTo(instance, context, false);
 	}
 	
+	public void accept(IEtlVisitor visitor) {
+		visitor.visit(this);
+	}
+
+	
 	public void dispose() {
 		rejected = null;
 		transformedElements = null;
diff --git a/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/parse/EtlUnparser.java b/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/parse/EtlUnparser.java
new file mode 100644
index 0000000..074d0c4
--- /dev/null
+++ b/plugins/org.eclipse.epsilon.etl.engine/src/org/eclipse/epsilon/etl/parse/EtlUnparser.java
@@ -0,0 +1,41 @@
+package org.eclipse.epsilon.etl.parse;
+
+import java.util.Iterator;
+
+import org.eclipse.epsilon.eol.dom.Parameter;
+import org.eclipse.epsilon.erl.parse.ErlUnparser;
+import org.eclipse.epsilon.etl.EtlModule;
+import org.eclipse.epsilon.etl.dom.IEtlVisitor;
+import org.eclipse.epsilon.etl.dom.TransformationRule;
+
+public class EtlUnparser extends ErlUnparser implements IEtlVisitor {
+
+	@Override
+	protected void unparseRules() {
+		((EtlModule) module).getTransformationRules().forEach(c -> {
+			c.accept(this);
+			newline();
+		});
+	}
+
+	@Override
+	public void visit(TransformationRule transformationRule) {
+		buffer.append("rule ");
+		buffer.append(transformationRule.getName());
+		newline();
+		buffer.append("transform ");
+		transformationRule.getSourceParameter().accept(this);
+		newline();
+		buffer.append("to ");
+		Iterator<Parameter> li = transformationRule.getTargetParameters().iterator();
+		while (li.hasNext()) {
+			li.next().accept(this);
+			if (li.hasNext())
+				comma();
+		}
+		printGuard(transformationRule.getGuard());
+		newline();
+		transformationRule.getBody().accept(this);
+	}
+
+}
\ No newline at end of file
