Topic/extract

WIP: @markhibberd