Merge rhodeproject fork into AshleyPoole fork

Merge rhodeproject fork (master) into AshleyPoole fork (master)