data classes, first cut