closes #25, #21