require must be set in one go