Closes #1 and closes #4.