updated IO driver interface