add swig support