implemented Execute-Around pattern when taking turns