instructions broken out into distinct arg sets