if this supposed to be getter is shouldn't do anything else - move caching to the separate function