Some code clean up and added ability for iterators to accept arguments.