Add support for nesting; tentative