fix the hashmap problem with multi-threading "find" and "insert", and adding cache