closes #8, closes #10