added comments for each step