closes #3915 closes #3917 closes #3919 closes #3923 closes #3924 closes #3926 closes #3927 closes #3928 closes #3929 closes #3931