refactored dropdown