add cache, change thread number