Adding Angular, Refactored Models, and Additional Functionality