further improving error-handling mechanism and smoothing out "wrinkles" so that the implementation does not scare maintainers