add some iterative solutions