mvc refacto