trying to put together a new working driver since the old one is just confusing me at this point