Merge pull request #2 from mariez/master

#17449 - implementation of proposed design changes (reverse-merged from commit b264902b299137a90a64902ee6eac8b8a6a875a6)