draft - required refactoring, one error on last leg of route