properties are saved only if the file does not exist or some property has changed