very large modification, commit message is irrelevant
the QML part won't work for now