added abstract class imagesearch to handle case where you have an invalid search