add source demo.js