Moving towards a lazy implemention.
Largely complete lazy reader and writer.
Simplify and cleanup...