cleaner search implementation