add searchkey
add search funtion
merge