about to try risky QML text rendering
optimisations and abstractions