update code structure