add recursive remove option