Split Driver

Removed what was unessessary to driver and created a class for each