File handling
refactoring viewmodels