laying out documentation for how this library will work