not sure if we need a signal digester class
merge