updated to do asyncrhonous fetching.