closes #5, closes #1