the extra handling of `ClassNotFoundException` isn't critical, but was useful for me while debugging.  Wasn't sure whether or not I should remove it.