Pushed iteration functionality down