revised tutorial