Feature/make robust

Various improvements for robustness and performance.
Yeah, double-check the contract. I think it was our option that we were going to support 15 or 16, but we should discuss the ramifications of that with John/Jared before we make this change.