refactor signals handling