refactored a bunch of stuff -- moving to one class per file