basic command structuer liberally borrowed from goose, from go