added instruction flow