reworked generic torx;it's now cleaner than the switch statement method