adding base soft-deleting implementation
overriding update, it must not be aware of soft deletion
adding the is_soft_deleted property for document