The following list details which packages we need, and a quick outline of what they are used for.
These packages are attached when loading our package:
Some functions of these packages are called by our package, but will not be attached when loading the package.