extracted to own before hook
added delete method