solve concurrent access