 
             for _topic, trigger of @_trigger
 
-                if _topic.match topic
+                if topic.match(_topic) || _topic.match topic
                     if !trigger.__counter
                         trigger.__counter = 0
 

                                fn()

                            catch err
                                console.log err
                                @unsubscribe handler.id

                    next()

                ##
                done: (err)=>
                    return done(err) if err
                    done ?= (err)=>
                        return @logger.error(err) if err

                    floyd.tools.parallel threads, done


                @logger.fine 'unsubscribe event', topic

                for _topic, trigger of @_trigger
                    if topic.match(_topic) || _topic.match topic
                        trigger.unsubscribe?.apply @, [topic, @_pool[token]]

                        trigger.__counter--
