using top level idleCheck method