One of our daily activities is solving problems of any kind. AI-research has shown that a lot of these problems can equally well or sometimes more easily be solved by computer programs. To be able to write such a problem-solving program it is necessary to give an exact description of the problem to be solved and to know how it can be defined in terms that facilitate the translation of the problem into a computer program. In this paper we first explain the theory of problem-solving in AI and next describe an implementation of some of the ideas presented (the description of the implementation, called the search class library, will be quite rough, because we will concentrate on how the search class library must be used. For details on the implementation see the comments accompanying the source code).