from ActionResult to IActionResult
adding models and viewmodels. remove all unused usings