redesign signal handling / support SIGABRT, C++ exception