first version of ViewModel pattern done'