moved instruction types to their own header