functional  changes