started on transpose stuff, but it's pretty hard...