beginning client management refactor