added diagnosticDrive function