sets can be nil