case classes should be final