code: func newApp() (app *cli.App) {
  	app = utils.NewApp(gitCommit, "Swarm Snapshot Utility")
  
  	app.Name = "swarm-snapshot"
  	app.Usage = ""
  
  	// app flags (for all commands)
  	app.Flags = []cli.Flag{
  		cli.IntFlag{
  			Name:  "verbosity",
  			Value: 1,
  			Usage: "verbosity level",
  		},
  	}
  
  	app.Commands = []cli.Command{
  		{
  			Name:    "create",
  			Aliases: []string{"c"},
  			Usage:   "create a swarm snapshot",
  			Action:  create,
  			// Flags only for "create" command.
  			// Allow app flags to be specified after the
  			// command argument.
  			Flags: append(app.Flags,
  				cli.IntFlag{
  					Name:  "nodes",
  					Value: defaultNodes,
  					Usage: "number of nodes",
  				},
  				cli.StringFlag{
  					Name:  "services",
  					Value: "bzz",
  					Usage: "comma separated list of services to boot the nodes with",
  				},
  			),
  		},
  	}
  
  	return app
  }
docs: // newApp construct a new instance of Swarm Snapshot Utility.
  // Method Run is called on it in the main function and in tests.