Client : design refactor