using swig templates