improvements to parser and go fmt