Added recursive delete method