adding in random start goal generator, along with many fixes