modify the code structure