Added defense code to CompareTo, modified the constructor when the value is null, throw an ArgumentNullException