add extract()