Jordan

Merge Jordan's experimental code into the master branch.