closes #3 and addresses #5