IO refactor and tests
io tests
modified setup.py
notebook