closes #75
closes #76
addresses point one of #77
closes #78