added mem cache