https://medium.com/@puneripatternpvtltd/exploring-java-a-beginners-guide-to-the-world-of-programming-564c21343285