set is null-safe