made pub/sub scheme more explicitly defined