report response structure, refactoring to support it, and a go fmt for good measure