Interpreter refactored in two parts InputInterpreter and InstructionInterpreter