final tutorial version