https://medium.com/@abbasabs14/unlocking-the-simplicity-of-java-a-beginners-guide-to-mastering-the-language-cb5ccf66286c