upgraded tutorial