rewrite with go-commander