Added additional documentation
Provided better error handling
More informative print statements