client side of cmsc345