Added generator chunk reader to minimize overhead in step 2
Preliminary code for all 3 tasks