Added complex type support