added signal handlers