to mutex
Optimize