better function name: recursiveDelete