closes #70
closes #179, closes #156