working on singal generation