added loader and lazy load