refactored "selectable list" task