ticket:10 for #10 signals implementation