implementing some swig stuff

Getting some swig stuff to work... assemble needs some changes because of how layouts work.