added publisher.js