updated io module