Added switch statements to replace using individual classes for each opcode