put memcache implementation in separate module