c swi handler updated