Abstracted parts of surveyor and started on block extractor