Architecture of the client