Initial commit of client logic