closes #118 refs #119 and #120 and #122 and #123