updated with merge and mvvm stuff