Add a combine method, and tests.
Clean up client api
More checks.