Closes #70 and closes #16