io draw function