closes #1, #2