with steps and explanation