listen to OS signals