added iterative population algorithm