Iterator, so steps arent hard-coded.