Rearanging everything for a simpler to use version