complete example