removing voilatile in favor of interlock.exchange