closes #4, closes #5