split up io to allow console vs network io