client side interface implementing