enh select list value & fix recurse function init