client.view refactored