Closes #3 and #2