working async style back up to original call