search implementation complete!