closes #222, closes #221, closes #190