detailed tutorial