recursion operators first try