change code structure