Mod: use composition instead oh inheritence for the client