general classes and interfaces

general classes and interfaces between parts of the project