Extraction support

So heres what I've been able to add, going away for a few days and wont be able to do much work 

I guess its better than nothing, unfinished and untested code