kind of leery of this - seems like there could be situations where this won't halt