Added transpose method and helpers, using blocks as needed