update immutable collections