improves user cancellation error handling, improves error constructor name, adds copyright, adds linker guard notice