another try at data extraction flexibility