v3.31 closes #19