better handling of when all items in sieve have been read