Diagram licensed CC-SA: https://creativecommons.org/licenses/by-sa/4.0/