adding more robust search APIs