#6 finishing client logic