updated utility functions, CMakeLists, and multiple driver

debugging multi-driver
trivial: updated .gitignore