add flexible publisher support (draft)