assemble: hooks