flatten the settings, it may not be a good idea, but we need to keep the backward compatibility with APIs.