hooks need the right number of arguments