first pass at distributed extraction