seeting the stage for implementing async pull and some comments on possible ways to go about it