cleaned up steps 1-4