source cleanup and new driver subsystem