rewritten QML interface