started work, need to do iterators