added iterators and sending values to implementing class to perform execution