started on iterators
remove postfix if
reworked iterators