added support for classes and interfaces