swig for component