Completes steps 1-4.