step-by-step explanation