closes #16
closes #43