use IO.read