First pass at generic IO Read module. Not tested/debugged AT ALL.