adapted search lib