improve error message generator