didn't run gofmt yet, will before merge