renamed doRun() to isDue(); couple other fixes