modified driver intialization to be more platform agnostic. Still need to verify windows