Adding iterator pattern
removing unused