closes #28 and closes #29