data classes restructured