implement Signal strategy