closes #3, #4