add more in-depth example