refactor of dropdown module