added everything but listbox functionality