add some interlock