change CanMeetDeadline, add some dependent functions