diff --git a/src/core/query.spec.ts b/src/core/query.spec.ts
deleted file mode 100644
index f82e39910040ce456babda0701ab268688a0d390..0000000000000000000000000000000000000000
--- a/src/core/query.spec.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
- * Departamento de Informatica - Universidade Federal do Parana
- *
- * This file is part of blendb.
- *
- * blendb is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * blendb is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with blendb.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-import { expect } from "chai";
-
-import { sqlGenerator, IViewData } from "./query";
-
-describe("SQL Generator", () => {
-    let sql = "";
-    it("should be able to create a sql query", () => {
-
-        const testViews: IViewData[] = [
-            {
-                name: "view 0",
-                metrics : ["met 1", "met 2"],
-                dimensions: ["dim 1", "dim 2", "dim 3"]
-            },
-
-            {
-                name: "view 1",
-                metrics : ["met 2", "met 3"],
-                dimensions: ["dim 2", "dim 3", "dim 4"]
-            },
-
-            {
-                name: "view 2",
-                metrics : ["met 4", "met 5"],
-                dimensions: ["dim 1", "dim 4", "dim 5"]
-            },
-
-            {
-                name: "view 3",
-                metrics : ["met 1", "met 6"],
-                dimensions: ["dim 5"]
-            }
-        ];
-
-        const testQuery: IViewData = {
-            name: "Query 1",
-            metrics : ["met1", "met2", "met3", "met4", "met5"],
-            dimensions : ["dim1", "dim2", "dim3", "dim4", "dim5"]
-        };
-
-        sql = sqlGenerator(testQuery, testViews);
-
-        expect(sql).to.be.an("string");
-
-    });
-
-    it(sql, () => {
-        expect(sql).to.be.an("string");
-    });
-});
diff --git a/src/core/query.ts b/src/core/query.ts
deleted file mode 100644
index eceaa5e0865725b48862ca97951d5f020d9d6eef..0000000000000000000000000000000000000000
--- a/src/core/query.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
- * Departamento de Informatica - Universidade Federal do Parana
- *
- * This file is part of blend.
- *
- * blend is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * blend is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with blend.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-export interface IViewData {
-    name: string;
-    metrics: string[];
-    dimensions: string[];
-};
-
-export function sqlGenerator (query: IViewData, views: IViewData[]) {
-    let objective: string[] = query.dimensions;
-    let aliasPrefix: string = "v";
-    let fromClause: IViewData[] = [];
-    let activeViews: IViewData[] = views;
-    let whereClause: Map<string, string[]> = new Map();
-    objective.forEach((item: string) =>  whereClause.set(item, []) );
-
-    while (objective.length  > 0) {
-        let actual: IViewData;
-        let actualDistance: number = objective.length + 1;
-        activeViews = activeViews.filter((view: IViewData) => {
-            let intersection: string[] = [];
-            let dims: string[] = view.dimensions;
-            intersection = dims.filter((item: string) => {
-                return objective.indexOf(item) !== -1;
-            });
-
-            if (intersection.length > 0) {
-                let distance: number = objective.length - intersection.length;
-
-                if (distance < actualDistance) {
-                    actual = view;
-                    actualDistance = distance;
-                }
-                return true;
-            }
-
-            return false;
-        });
-        if (activeViews.length  === objective.length + 1) {
-            // Erro as views fornecisdas não atemdem a query
-            return "";
-        }
-        let viewAlias: number = fromClause.push(actual) - 1;
-        actual.dimensions.forEach((item: string) => {
-            whereClause.get(item).push(aliasPrefix + viewAlias);
-        });
-        objective = objective.filter((item: string) => {
-            return actual.dimensions.indexOf(item) === -1;
-        });
-    }
-
-    let sql: string = "";
-    // SELECT CLAUSE
-    sql += "FROM ";
-    let aliases = fromClause.map((item: IViewData, idx: number) => {
-        return item.name + " " + aliasPrefix + idx;
-    });
-    sql += aliases.join(", ") + "\n";
-    sql += "WHERE ";
-    whereClause.forEach((items: string[]) => {
-        let last: string = items.pop();
-        sql += items.reduce((total: string, item: string) => {
-            return total + ", " + item + " = " + last;
-        });
-    });
-    // group by
-
-    return sql;
-}