more work on the iterator module