improved search with multi join