base hook