qml refactoring