add dispatcher.js