added Step1 part implementation