Recursive

And lots of fixes