updated DataIO