https://medium.com/@shahriarhossain_dev/what-are-object-oriented-programming-oop-properties-in-swift-f3b0266ecbb7