finish porting to SettingPath, update docs