Reworked reading logic to make more sense in the context of something that will also write