updated location based iteration