Lots of changes realted to Read/Write, implimenting saner interface for loading and reading