modify methods that returns collections to return a iterator instead of all objects at once
