add Instruction.java
code refactor