implementing tutorial 10