add some hooks, add items in TODO