introduced the #rawErrorCode to allow for the String representation as well as maintaining backward compatibility
of the int value
addition of some header comments