rewritten a hook