implement steps 8-12