https://medium.datadriveninvestor.com/everything-you-should-know-about-default-constructor-in-c-1e676f1aacca