added viewmodel with eventbinding