try to make a better hook