closes #8, closes #11