signal pattern finally implemented