update some code structure