fmt.Println("Taking first read lock lock")
	mux.RLock()
	fmt.Println("took first read lock lock")

	go func(){
		fmt.Println("Taking write lock")
		mux.Lock()
		fmt.Println("took write lock")
		mux.Unlock()
	}()
	time.Sleep(1*time.Second)
	mux.RUnlock()
	time.Sleep(1*time.Second)
	fmt.Println("Taking second read lock lock")
	mux.RLock()
	fmt.Println("took second read lock lock")

	mux.RUnlock()