initial commit with sketch of structure for IO