diff --git a/libtransform/include/transform.hpp b/libtransform/include/transform.hpp
index fbd8e639eb906787212a08eb56defd11a97affb1..fc9e0bc79d06cb8c7e057e2a8d5b62ee4af077dd 100644
--- a/libtransform/include/transform.hpp
+++ b/libtransform/include/transform.hpp
@@ -7,12 +7,14 @@
 
 #include <libIRDB-core.hpp>
 
-using namespace std;
-using namespace libIRDB;
 
 #include "MEDS_InstructionCheckAnnotation.hpp"
 #include "VirtualOffset.hpp"
 
+using namespace std;
+using namespace libIRDB;
+using namespace MEDS_Annotation;
+
 namespace libTransform
 {
 
@@ -21,13 +23,10 @@ class Transform {
 	public:
 		Transform(VariantID_t *, VariantIR_t *, std::map<VirtualOffset, MEDS_InstructionCheckAnnotation> *p_annotations, set<std::string> *p_filteredFunctions);
 
-	protected:
-		enum Register { EAX, EBX, ECX, EDX, AX, BX, CX, DX };
-
 	protected:
 		void addInstruction(Instruction_t *p_instr, string p_dataBits, Instruction_t *p_fallThrough, Instruction_t *p_target);
-		void addPushRegister(Instruction_t *p_instr, Register, Instruction_t *p_fallThrough);
-		void addPopRegister(Instruction_t *p_instr, Register, Instruction_t *p_fallThrough);
+		void addPushRegister(Instruction_t *p_instr, Register::RegisterName, Instruction_t *p_fallThrough);
+		void addPopRegister(Instruction_t *p_instr, Register::RegisterName, Instruction_t *p_fallThrough);
 		Instruction_t* addCallbackHandler(string p_detector, Instruction_t *p_instr);
 
 
@@ -37,8 +36,8 @@ class Transform {
 
 		VariantID_t* getVariantID() { return m_variantID; }
 		VariantIR_t* getVariantIR() { return m_variantIR; }
-		std::map<VirtualOffset, MEDS_InstructionCheckAnnotation>* getAnnotations();
-		set<std::string>* getFilteredFunctions();;
+		std::map<VirtualOffset, MEDS_InstructionCheckAnnotation>* getAnnotations() { return m_annotations; }
+		set<std::string>* getFilteredFunctions() { return m_filteredFunctions; }
 
 	private:
 		VariantID_t            *m_variantID;
diff --git a/libtransform/src/integertransform.cpp b/libtransform/src/integertransform.cpp
index 5e1d97bd7048bdbdd87e53f46068915d128e240d..bdaee13e7aec04406605935826889a973db9c2f4 100644
--- a/libtransform/src/integertransform.cpp
+++ b/libtransform/src/integertransform.cpp
@@ -144,8 +144,8 @@ void IntegerTransform::addTruncationCheck32to16(Instruction_t *p_instruction, co
 		Instruction_t* pop_eax_i = allocateNewInstruction(fileID, func);
 
 		// start instrumentation
-		addPushRegister(push_ecx_i, ECX, push_eax_i);
-		addPushRegister(push_eax_i, EAX, movzx_i);
+		addPushRegister(push_ecx_i, Register::ECX, push_eax_i);
+		addPushRegister(push_eax_i, Register::EAX, movzx_i);
 
 		// movzx ecx, word [esp + 2]    ; copy upper 16 bits into ecx (zero-extend)
 		dataBits.resize(7);
@@ -180,10 +180,10 @@ void IntegerTransform::addTruncationCheck32to16(Instruction_t *p_instruction, co
 		addInstruction(jecxz2_i, dataBits, addCallbackHandler(string(TRUNCATION_DETECTOR), pop_eax_i), pop_eax_i);
 
 		//     pop eax                      ; restore eax
-		addPopRegister(pop_eax_i, EAX, pop_ecx_i);
+		addPopRegister(pop_eax_i, Register::EAX, pop_ecx_i);
 
 		//     pop ecx                      ; restore ecx
-		addPopRegister(pop_ecx_i, ECX, p_instruction);
+		addPopRegister(pop_ecx_i, Register::ECX, p_instruction);
 	}
 	else if (p_annotation.isUnsigned())
 	{
diff --git a/libtransform/src/transform.cpp b/libtransform/src/transform.cpp
index 4acae47bda3d1b279bd6ec2ac8efc0f08a794b60..8aecae77fcc075caa23d1065ba7565f45444b383 100644
--- a/libtransform/src/transform.cpp
+++ b/libtransform/src/transform.cpp
@@ -1,6 +1,7 @@
 #include "transform.hpp"
 
 using namespace libTransform;
+using namespace MEDS_Annotation;
 
 Transform::Transform(VariantID_t *p_variantID, VariantIR_t *p_variantIR, std::map<VirtualOffset, MEDS_InstructionCheckAnnotation> *p_annotations, set<std::string> *p_filteredFunctions)
 {
@@ -23,25 +24,25 @@ void Transform::addInstruction(Instruction_t *p_instr, string p_dataBits, Instru
 	m_variantIR->GetInstructions().insert(p_instr);
 }
 
-void Transform::addPushRegister(Instruction_t *p_instr, Register p_reg, Instruction_t *p_fallThrough)
+void Transform::addPushRegister(Instruction_t *p_instr, Register::RegisterName p_reg, Instruction_t *p_fallThrough)
 {
 	string dataBits;
 	dataBits.resize(2);
 
 	dataBits[0] = 0x66;
-	if (p_reg == EAX)
+	if (p_reg == Register::EAX)
 	{
 		dataBits[1] = 0x50; 
 	} 
-	else if (p_reg == EBX)
+	else if (p_reg == Register::EBX)
 	{
 		dataBits[1] = 0x53; 
 	} 
-	else if (p_reg == ECX)
+	else if (p_reg == Register::ECX)
 	{
 		dataBits[1] = 0x51; 
 	}
-	else if (p_reg == EDX)
+	else if (p_reg == Register::EDX)
 	{
 		dataBits[1] = 0x52; 
 	}
@@ -53,25 +54,25 @@ void Transform::addPushRegister(Instruction_t *p_instr, Register p_reg, Instruct
 	addInstruction(p_instr, dataBits, p_fallThrough, NULL);
 }
 
-void Transform::addPopRegister(Instruction_t *p_instr, Register p_reg, Instruction_t *p_fallThrough)
+void Transform::addPopRegister(Instruction_t *p_instr, Register::RegisterName p_reg, Instruction_t *p_fallThrough)
 {
 	string dataBits;
 	dataBits.resize(2);
 
 	dataBits[0] = 0x66;
-	if (p_reg == EAX)
+	if (p_reg == Register::EAX)
 	{
 		dataBits[1] = 0x58; 
 	} 
-	else if (p_reg == EBX)
+	else if (p_reg == Register::EBX)
 	{
 		dataBits[1] = 0x5b; 
 	} 
-	else if (p_reg == ECX)
+	else if (p_reg == Register::ECX)
 	{
 		dataBits[1] = 0x59; 
 	}
-	else if (p_reg == EDX)
+	else if (p_reg == Register::EDX)
 	{
 		dataBits[1] = 0x5a; 
 	}
diff --git a/libtransform/tests/Makefile b/libtransform/tests/Makefile
index fc072935610f08102e806ff1c4015293a2be4d19..d838f24543177920f713c07995e2d1a4b74385f7 100644
--- a/libtransform/tests/Makefile
+++ b/libtransform/tests/Makefile
@@ -17,7 +17,7 @@ all: env_check  ${exes}
 
 .o.exe:
 #	${PEASOUP_HOME}/tools/ps_link.sh $< -o $@ 
-	gcc $< -o $@ 
+	gcc -g $< -o $@ 
 	${PEASOUP_HOME}/tools/ps_analyze.sh  $@ $@ --step ilr=off --step concolic=off --step p1transform=off
 
 .c.o:
diff --git a/libtransform/tests/mul.c b/libtransform/tests/mul.c
index dcd54426f323972d0ddea78c63428fe0e45a648b..2b8adb3fa079b92fc2a08ba364c35d6eb29ec7b8 100644
--- a/libtransform/tests/mul.c
+++ b/libtransform/tests/mul.c
@@ -1,12 +1,11 @@
+
 int main(int argc, char **argv)
 {
-  int a = atoi(argv[1]);
-  int b = atoi(argv[2]);
-
-  int c = a * b;
+  unsigned a = (unsigned) atoi(argv[1]);
+  unsigned b = (unsigned) atoi(argv[2]);
+  unsigned d = a * b;
+  printf("%u * %u = %u\n", a, b, d);
 
-  printf("%d * %d = %d\n", a, b, c);
+  printf("hello, how are you?");
 
-  unsigned d = (unsigned)a * (unsigned)b;
-  printf("%u * %u = %u\n", (unsigned)a, (unsigned)b, d);
 }