Uploaded the version from the 2012 GSoC project