first pure client approach