refactor make hyper block and mission block function