user save takes another parameter: list of changes