Experimental

Pulling in latest experimental code into master branch.
Contains the latest up-to-date version of the software, almost meeting beta launch conditions.