- only throw runtime exceptions on all client calls - wrap all internal exceptions to 4 defined exceptions the user has to deal with