WIP: IO module

Taking over where Alex left off. Maybe Travis will be happy now. Still need to check docs.