[new model] element cache