closes #125 closes #126 closes #127 closes #128 all four issues resolved in previous commits