added signal handle