added async3, using closures