#pattern-matching + #case-classes - comments fixed