add nested openstruct support

Refer to enhancement request #7