Closes #2 and closes #3