Closes #49. Closes #50.