update the gem with private methods

will do some more refactoring and possibly add more methods and tests