add return value to an async task