code structure change