write preliminary book reader class
implement persistence
some random refactoring