Added io abstraction files