hooks not hacks