hook def