moved everything back to one instruction struct