Remove explicit recursion