rudimentary signal handling