new transpose routines