By now, you will have a firm grasp of how crates work, the required testing regime, and creating a test rig. Your final task in this section is to create your own extension to the crate. There are some criteria though to your extension:
- One of the functions must return a non-primitive type
- The calculations should be private; there should be some form of interface to the function call
- There should be a single function that takes an XML file as a parameter to perform the calculation
- The new module must be fully documented and complete with its own tests