The matching polynomial is a graph polynomial that does not only have interesting mathematical properties, but also possesses meaningful applications in physics and chemistry. For a simple graph, the matching polynomial enumerates the number of matchings of different sizes in it. Two graphs are comatching if they have the same matching polynomial. Two vertices u, v in a graph G are comatching if G u and G v are comatching.In 1973, Schwenk proved almost every tree has the same characteristic polynomial with another tree. In this thesis, we extend Schwenk's result to maximal limbs and weighted trees. We also give a construction using 1-vertex extensions for comatching graphs and graphs with an arbitrarily large number of comatching vertices. In addition, we use an alternative definition of matching polynomial for multigraphs to derive new identities for the matching polynomial. These identities are tools used towards our 2-sum construction for comatching vertices and comatching graphs.