I actually originally made the AdvancedMatrix file in another project. I originally began by using -1 for invalid data, but decided to try out using Nullable<int> aka int? to allow for null for invalid data. So, as I was writing it, I switched most integer datatypes to int? (at least where -1 was used) and finished the rest of the functionality using int?; however, for this project, I figured it would be best not to use that functionality of C# for this, as it isn't within the scope of the requirements for this project. I completed the majority of the functionality after I began using int?, so the majority of the conversion to using -1 instead of null was after everything was written. I ended up having to fix a few slight issues caused by the transition, and it actually helped me find an error in my Dijkstra's algorithm implementation. I'm going to leave it within the project for reference and also in case I decided to expand upon it later. Utilizing null instead of number value could be useful. The functionality of the class is essentially the same as the normal Matrix class except for the classes that return null instead of -1. I'm going to modify PrintResult in Program.cs to allow for swapping between AdvancedMatrix and Matrix classes for the test data/output.