mutex moved to protected