drop down list
some added functionality and fixes
some abstraction to be able to use some classes with eg Starling