-refactoring and code rewrites to make gem less aggressive in its api usage
-added ability to pass a logger