set up basic hooks and structure