add start and end methods to trip, clean up permutations