Full support for complex types. Renamed main classes and annotations. Some fixes