updadte structure to avoid logic