using iter instead of fetch for memory conservation