https://medium.com/@acomputerscientistsdiary/structs-vs-classes-in-swift-the-ultimate-guide-to-choosing-the-right-one-e5642d93079a