mainhook