added caching!
reduces loading time about the half!