These should be set before detect, or the user cannot override.