pub-sub Component implemeted