diff --git a/src/main/java/com/application/DB/Sort.java b/src/main/java/com/application/DB/Sort.java
new file mode 100644
index 0000000000000000000000000000000000000000..1d8630acc3bb689641486e33a9c16b3928977bcc
--- /dev/null
+++ b/src/main/java/com/application/DB/Sort.java
@@ -0,0 +1,95 @@
+package com.application.DB;
+
+import com.google.auth.oauth2.GoogleCredentials;
+import com.google.auth.oauth2.ServiceAccountCredentials;
+import com.google.cloud.bigquery.*;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+public class Sort {
+
+
+    private static GoogleCredentials getCredentials() throws Exception {
+        File credentialsPath = new File(".\\src\\main\\resources\\com.application\\sf-drying-optimization-1e234ad2b0f4.json");
+
+        // Load credentials from JSON key file. If you can't set the GOOGLE_APPLICATION_CREDENTIALS
+        // environment variable, you can explicitly load the credentials file to construct the
+        // credentials.
+        GoogleCredentials credentials;
+        try (FileInputStream serviceAccountStream = new FileInputStream(credentialsPath)) {
+            credentials = ServiceAccountCredentials.fromStream(serviceAccountStream);
+        }
+        return credentials;
+    }
+
+    // Step 1: Initialize BigQuery service
+    // Here we set our project ID and get the `BigQuery` service object
+    // this is the interface to our BigQuery instance that
+    // we use to execute jobs on
+    private static BigQuery getBuilder() throws Exception {
+        BigQuery bigquery = BigQueryOptions.newBuilder().
+                setCredentials(getCredentials()).
+                setProjectId("sf-drying-optimization")
+                .build().getService();
+        return bigquery;
+    }
+
+
+    public static void main(String[] args) throws Exception {
+        Sort.getFromExistingTable();
+    }
+
+
+    //getFromExistingTable sorts out treespecies, ex, width and height
+    //
+
+    public static void getFromExistingTable() throws Exception {
+
+
+        // Step 2: Prepare query job
+        // A "QueryJob" is a type of job that executes SQL queries
+        // we create a new job configuration from our SQL query and
+        final String GET_WORD_COUNT =
+                "SELECT Name, CalculatedStart, CalculatedStop FROM `sf-drying-optimization.124.int_dk_valmaticsdryingbatches`" +
+                "WHERE Name Like \"%Gran%\" AND Name Like \"%3ex%\" AND NAME Like \"%47x150%\" AND DATE(CalculatedStart) " +
+                "BETWEEN \"2018-08-17\" AND \"2022-08-30\" ORDER BY DATE(CalculatedStart)";
+
+        QueryJobConfiguration queryConfig =
+                QueryJobConfiguration.newBuilder(GET_WORD_COUNT).build();
+
+        // Step 3: Run the job on BigQuery
+        // create a `Job` instance from the job configuration using the BigQuery service
+        // the job starts executing once the `create` method executes
+
+        Job queryJob = getBuilder().create(JobInfo.newBuilder(queryConfig).build());
+        queryJob = queryJob.waitFor();
+        // the waitFor method blocks until the job completes
+        // and returns `null` if the job doesn't exist anymore
+        if (queryJob == null) {
+            throw new Exception("job no longer exists");
+        }
+        // once the job is done, check if any error occured
+        if (queryJob.getStatus().getError() != null) {
+            throw new Exception(queryJob.getStatus().getError().toString());
+        }
+
+        // Step 4: Display results
+        // Print out a header line, and iterate through the
+        // query results to print each result in a new line
+        System.out.println("Name\tCalculatedStarted\tCalculatedStop");
+        TableResult result = queryJob.getQueryResults();
+        for (FieldValueList row : result.iterateAll()) {
+            // We can use the `get` method along with the column
+            // name to get the corresponding row entry
+
+            String name = row.get("Name").getStringValue();
+            String calculatedStart = row.get("CalculatedStart").getStringValue();
+            String calculatedStop = row.get("CalculatedStop").getStringValue();
+            System.out.printf("%s\t%s\t%s\n", name,calculatedStart, calculatedStop);
+
+
+        }
+    }
+}
diff --git a/target/classes/com/application/DB/Sort.class b/target/classes/com/application/DB/Sort.class
new file mode 100644
index 0000000000000000000000000000000000000000..1a594c06b3520ce5e5d358f21b0ff1cf017bc63b
Binary files /dev/null and b/target/classes/com/application/DB/Sort.class differ