add preemptive support
fix