improve scheduling the task