This MR incorporates three tickets now, all changes are in the same source file, I did not want to risk any merge conflicts.
implements #22183
implements #22182
implements #22243
This MR incorporates three tickets now, all changes are in the same source file, I did not want to risk any merge conflicts.
implements #22183
implements #22182
implements #22243