change the way target selector works and add option to bubble up event