add OnSelect()  function