gpio handler enhanced