add Delete trait