A new version using angular.js