refactor with controllerAs syntax, bindable members on top
standardize naming conventions and fix jshint warnings