updated IO module