a more complete example