Complex object upload