content type refactor