Closes #60 Improves #59. Closes #67