Step by step explanation