document blob object, some small refactoring