Adding code for CS 240. Everything but the Record Indexer is in here. I'll move the Record Indexer into here soon.