+restructured classes and types