Closes #1, #2, and #3.