added lazy reader utility