starting to play with ways to handle the i/o