structure re-arange