cleaned up error handling a bit.
1. return from overloaded wrapper either on success or any error except type one
2. removed dangling exception handler, rely on error code instead