add swift support