Started avoiding obstacles, but not finished. I need to think this over some more.