added in-place transpose functions