added support for embedded structs