delete functionality added

Let's not default to recursive deletion.

I suggest separate methods for `delete` and `deleteRecursive`, but feel free to make it a parameter instead.