Rebased onto latest rust-team branch and removed all the duplicated work.
- Jordan