https://medium.com/@alexisbou16/introduction-to-java-a-comprehensive-guide-with-python-comparison-f70194b8e3ed