modify the iterative-improve and add fixed-point-iter