complete mvc overhaul