refactor program_filter
add select2
tmp