Add obstacles, some more refactoring.