need a in-situ transpose