Merge initial swift work from neillc's fork.

just wondering why you're doing this