iterator

wrote iterator assignment too lazy to do UML at the moment