making some classes and interfaces