updated with no duplictated steps