error message framework