First commutation logic working