supports JST, refactoring and go fmt