https://medium.com/@giorgio.martinez1926/diving-into-rusts-pattern-matching-a-beginner-s-guide-d086ba56acaa