MVC design pattern
Merge branch 'shayan'