not sure why rwMutex was a pointer