https://medium.com/@unyimeudemy20/the-comparable-interface-in-java-practical-application-8fad3ed1ab28