removed level param from recursion