Worked on preempt()