change publish to handle multiple args