#rework struct