https://medium.com/@Awsafur/a-comprehensive-analysis-of-programming-paradigms-call-by-reference-vs-call-by-value-7103c24048da