renamed viewmodel to dto