changing layout of types under http, moving parsing/formatting to be next to types and extending types so functionality available to end users