Consolidated only

Progress PR, do not merge yet.

The changes are complete but require review.

Unit tests need to be updated to match new functions.
Whitespace Nazi.