better team structs, less data passing