add mutex lock