bugfix + use cahce