Added support for composite types
Added embedded type support (will clean up code after)