code structure changes