explicit error handling. upgrade deps. closes #9