code structure changed