done with custom publisher