added softdeletable behavior