move ticking locks and checks to inside of tick()