revise the instruction interface