use angularjs to redo this project