onlyIf() support for delete added
internal refactoring