self_tutorial