Modifications to allow for easy embedding and Documentation Part 2.