case classes are pretty neat