messing around with custom iterators