Added iterate, cleaned up unit tests