added nvic stuff