added advanced pub-sub