exception messages/types
more generic content type approach