Added schema of the project. Implemented main abstract classes and
interfaces. Some other implementation of specialized classes