work on agent iteration