Detailed explanation of steps