made underlying db interchangeable

Each vendor/driver would need a unique implementation of DBInteraction