minimized memory usage: iterateApiCall -> foreachItem (+minor view changes)