no errrors in recursion, just a dumb heuristic