selected value handling; no results handling; code clean up