Change Instruction to abstract class

Changed to be an abstract representation of instruction