atomic operate r.recursion