mutexes seem to be working