https://zoheirsoftware.com/blog/ids-in-csharp