abstract all hooks into other modules