add setSelection method
added the search & highlighting engine