Changed to use reinit instead of init to minimize unnessisary flipping
Allow for variable number of itterations