improvements
- architecture
- lazy loader