put signal handling in the right place as opposed to the random main() container that os x starts with