Use our own Error class to capture errors w/ more detail