some ItemPicker refactor