case classes can now be defined elsewhere