Multiclient

See the last commit only as this depends on another pull request.