first pass at publish