self-lock check added