some preemption logic that actually makes sense

what was I thinking?