refactor hook interactions to support ID handling