added classes for the architecture of the client side