added loop_recur