pre update / insert / delete method