added data extraction