added C-like structure support