different code paths depending on if they are enabled or not. Former-commit-id: 42f000697cc3095d2795bfc3b9a2a79db94af741
Readme and documentation will be worked on soon