Closes #1, closes #4