simplify signal handling