moved to new design and added lazy loading