scala naming convention
pattern matching