revise scheduler