structure for dio and debug function