Use loop and recur