Code Review Correction

This is the part 1 of the code review. Added a BaseController which is
not tight to the Model-ViewModel