fix create_signal function