documenting the classes and fixing several broken methods