(cherry picked from commit b248163df598dc611ee919d525eb7357256d73d5) Closes #3089
(cherry picked from commit d3018fb5015af26a897281f0e892b706cdb6e821) Closes #1807 Closes #2878 Closes #2873