Added funky templated tuple stuff