added lazy loading
fixed bug