Included docstrings, header info, switched into exceptions, and made a few minor changes
Added Template to help with consistent docstrings