adding in better list iterators