Split client and server impl am: a6d6fa3d9d am: 6fc5d41149

Change-Id: Ie5732bd25008c576c866c258299a4f94f4215959