iterative conversion