requesting recursion by default. some formatting changes