Returning data is now a separate thread