complete example compiles