MultiThread + Caching