broke ServeClient into two seperate steps , code looks much more readable