Merge pull request #2 from pwcazenave/karen

Merge in your new functionality with my dev version. This also makes the new functions optional whilst still maintaining the ability to use the new functions.