implemented memcache