This is a long one!  Please just skip through to the transformation you need.