Added iterative version of some of the methods