changing code structure