added preemptive scheduling vs non-preemptive scheduling