Closes #33, closes #25