I've just used the byte[] as we need to do a top/bottom swap below. Should be able to make that work with T however, will have a go.