implemented basic tour
added overwrite case
use lists instead of sets
mmm complicated
use vector instead
added longer tour detection