start implementing iterative solver