diff --git a/src/mol-script/builder.ts b/src/mol-script/language/builder.ts
similarity index 100%
rename from src/mol-script/builder.ts
rename to src/mol-script/language/builder.ts
diff --git a/src/mol-script/container.ts b/src/mol-script/language/container.ts
similarity index 100%
rename from src/mol-script/container.ts
rename to src/mol-script/language/container.ts
diff --git a/src/mol-script/expression-formatter.ts b/src/mol-script/language/expression-formatter.ts
similarity index 100%
rename from src/mol-script/expression-formatter.ts
rename to src/mol-script/language/expression-formatter.ts
diff --git a/src/mol-script/expression.ts b/src/mol-script/language/expression.ts
similarity index 100%
rename from src/mol-script/expression.ts
rename to src/mol-script/language/expression.ts
diff --git a/src/mol-script/helpers.ts b/src/mol-script/language/helpers.ts
similarity index 100%
rename from src/mol-script/helpers.ts
rename to src/mol-script/language/helpers.ts
diff --git a/src/mol-script/symbol-table.ts b/src/mol-script/language/symbol-table.ts
similarity index 100%
rename from src/mol-script/symbol-table.ts
rename to src/mol-script/language/symbol-table.ts
diff --git a/src/mol-script/symbol-table/core.ts b/src/mol-script/language/symbol-table/core.ts
similarity index 100%
rename from src/mol-script/symbol-table/core.ts
rename to src/mol-script/language/symbol-table/core.ts
diff --git a/src/mol-script/symbol-table/structure-query.ts b/src/mol-script/language/symbol-table/structure-query.ts
similarity index 100%
rename from src/mol-script/symbol-table/structure-query.ts
rename to src/mol-script/language/symbol-table/structure-query.ts
diff --git a/src/mol-script/symbol.ts b/src/mol-script/language/symbol.ts
similarity index 100%
rename from src/mol-script/symbol.ts
rename to src/mol-script/language/symbol.ts
diff --git a/src/mol-script/type.ts b/src/mol-script/language/type.ts
similarity index 100%
rename from src/mol-script/type.ts
rename to src/mol-script/language/type.ts
diff --git a/src/mol-script/runtime/environment.ts b/src/mol-script/runtime/environment.ts
index 4092a6786d412d61939ee783089132fe1ef37b27..c969ecdf66b1e95eec8468dbc91ee18345378492 100644
--- a/src/mol-script/runtime/environment.ts
+++ b/src/mol-script/runtime/environment.ts
@@ -4,10 +4,10 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import { Symbol } from '../symbol'
+import { Symbol } from '../language/symbol'
 import { SymbolRuntime } from './symbol'
 import { Macro } from './macro';
-import Expression from '../expression';
+import Expression from '../language/expression';
 
 class Environment {
     readonly runtimeTable: SymbolRuntime.Table;
diff --git a/src/mol-script/runtime/macro.ts b/src/mol-script/runtime/macro.ts
index cb7524054452bbdefc756a6a6a1371687f9ea0e4..4d5128886ff764a749d37c9e7ba52144ea4f2918 100644
--- a/src/mol-script/runtime/macro.ts
+++ b/src/mol-script/runtime/macro.ts
@@ -4,7 +4,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import Expression from '../expression';
+import Expression from '../language/expression';
 
 interface Macro {
     readonly argNames: ReadonlyArray<string>,
diff --git a/src/mol-script/runtime/symbol.ts b/src/mol-script/runtime/symbol.ts
index c0f0451cf7c4c4817508845903da9b54ea445431..5a53a4ba8e9f680ad24ce0bbb87b2e305813075f 100644
--- a/src/mol-script/runtime/symbol.ts
+++ b/src/mol-script/runtime/symbol.ts
@@ -6,7 +6,7 @@
 
 import Environment from './environment'
 import RuntimeExpression from './expression'
-import Expression from '../expression';
+import Expression from '../language/expression';
 
 type SymbolRuntime = SymbolRuntime.Dynamic | SymbolRuntime.Static
 
diff --git a/src/mol-script/script/mol-script/macro.ts b/src/mol-script/script/mol-script/macro.ts
index 658e9ce98ee4bd6193c3eb5292414ddb28c68c8d..a2c9c5a7c90fd759cd1fd93bc84ec783228ff8fc 100644
--- a/src/mol-script/script/mol-script/macro.ts
+++ b/src/mol-script/script/mol-script/macro.ts
@@ -5,7 +5,7 @@
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
  */
 
-import B from '../../builder'
+import B from '../../language/builder'
 
 export function getPositionalArgs(args: any) {
     return Object.keys(args)
diff --git a/src/mol-script/script/mol-script/parser.ts b/src/mol-script/script/mol-script/parser.ts
index 03a494f6391fb64dcb1598dee0eeae237fa19356..b313de302d4d3008b10b3bd51047fd04223c0914 100644
--- a/src/mol-script/script/mol-script/parser.ts
+++ b/src/mol-script/script/mol-script/parser.ts
@@ -5,8 +5,8 @@
  */
 
 import { MonadicParser as P } from 'mol-util/monadic-parser'
-import Expression from '../../expression'
-import B from '../../builder'
+import Expression from '../../language/expression'
+import B from '../../language/builder'
 
 export function parseMolScript(input: string) {
     return Language.parse(input);
diff --git a/src/mol-script/script/mol-script/symbols.ts b/src/mol-script/script/mol-script/symbols.ts
index 9c9cec57be92226f187ae70b43a5c030fdd5fcff..2d25e4338e734d190b8c4ab5dfdb726666a3ad31 100644
--- a/src/mol-script/script/mol-script/symbols.ts
+++ b/src/mol-script/script/mol-script/symbols.ts
@@ -4,13 +4,13 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import { Symbol, Arguments, Argument } from '../../symbol'
-import B from '../../builder'
+import { Symbol, Arguments, Argument } from '../../language/symbol'
+import B from '../../language/builder'
 import * as M from './macro'
-import MolScript from '../../symbol-table'
-import Type from '../../type'
-import * as Struct from '../../symbol-table/structure-query'
-import Expression from '../../expression'
+import MolScript from '../../language/symbol-table'
+import Type from '../../language/type'
+import * as Struct from '../../language/symbol-table/structure-query'
+import Expression from '../../language/expression'
 import { UniqueArray } from 'mol-data/generic'
 
 export type MolScriptSymbol =
diff --git a/src/mol-script/script/parser.ts b/src/mol-script/script/parser.ts
index 122b2e844193331975fbf5054ba114eda36b2ccb..d318080d5e63112703f7f0de40293ae2c55ede0c 100644
--- a/src/mol-script/script/parser.ts
+++ b/src/mol-script/script/parser.ts
@@ -5,7 +5,7 @@
  * @author Alexander Rose <alexanderose@weirdbyte.de>
  */
 
-import Expression from '../expression'
+import Expression from '../language/expression'
 
 type Parser = (source: string) => Expression