majority of the changes for v6.0, not ready for use, not tested, not complete