closes #2, closes #4