starting over, this time with everything in one file, and an object-oriented data model