huge refactoring. Refactored with matching AngularJS Style Guide https://github.com/johnpapa/angularjs-styleguide