code structure adjust