Absract implementations of SearchEngine