allow empty constructor call for composite