add qml support