more mvvm refactor
all refactor and no play makes me a dull boy...