update util.js and add demo