redo struct declarations