split up classes to sererate files
dumbed down driver