books backend, viewmodel