added a more complex example