code structure update