Improved lazy loading + add tests