some changes

- move COMPASSContainer to separate file
- move category modification code to model code (so user doesn't see
the modification)
- begin thinking about how to handle metadata