added basic classes and interfaces