add lazy-loading logic
revert commit