changed init except structure to lazy load
added comment