added custom error type
don't be bad, stop wrapping errors.
Merge branch 'develop'