preserves IFS