make composite immutable