Many cats.  Some refactoring.