make mutex optional