- refactored underlying model so that Client becomes the standard unit of interaction