outsourced the signal creation to a pre commit hook