first pass and instructions loop