move blob logic into common