closes #87, closes #109
closes #109, closes #87, closes #77