add rwLock and lrucache impl