added lrucache and thread