Use async.waterfall instead of execSync