rework constructor data format