explicitly create hooks and package