added incremental search function