dropdownlist refactor