Added angular-hal and rewrote login to leverage angular-hal