Further refinement on IO.x methods