Implemented viewmodel