working on signal subscribtion