instantiate complex types with simple content