Changed the loop to reflect the assembly generated. Otherwise I'll forget why there are two st++'s.
parse thread no longer checks that only one thread is returned it will just take the first regardless of how many others there are.
Converted the driver into an abstract class.
Added site specific driver base class.
Added virtual destructor to abstract class.