Partially submitted by the PR, the rest by yours truly, corrections welcomed. PR: 26137 Submitted by: trevor