Add Cache. Change initialize implementation