add inital version of smart cache