Made it preemptive
Merge pull request #3 from gwhere/master

Now uses signal