added client functions