iterate version, because I can