https://zoheirsoftware.com/blog/method-in-csharp-training