updated to do steps 1 and 2