basic subscribe/publish workflow