[Directory]: implement recursive delete