added typedef of nvic_handler_t to make things look neater