https://medium.com/@imAkash25/understanding-the-difference-between-readonly-and-const-in-c-0f0e34cca1b2