modified routine to pull interrupt source from the controller