add FuncCache for tests