Preemptive Programming