reschedule is not perfect but it works