totally rewrite cloudstack.go