croak instead of carp
Removed static dispatch
Unneeded exception handling