fixed view dependencies and refresh bug by using view cache