new hook functions take entity,field