Implemented Model 2 (MVC)