add D3
move lazy load into the collectionView to optimize scroll speed