Explain all steps