category work, and make prettyprints not throw