added client-side methods