Updated class definitions. I have a few things I need to fix.