using async.series to remove deep callback levels