https://medium.com/@06br9385/understanding-c-attributes-and-their-purpose-a-comprehensive-guide-with-examples-682349c75d37