Rewrote client side with Angular.js