tuples are dumb; use vec and seg classes with operator overloading!