pub fn execute(commands: Vec<Command>) -> Result<()>