closes #6, closes #7