start work on io package