client - basic structure