added client callback