better routine change checking