diff --git a/package-lock.json b/package-lock.json
index 2489fc1..6fdb09a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -289,9 +289,9 @@
             }
         },
         "@babel/helper-string-parser": {
-            "version": "7.23.4",
-            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
-            "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
+            "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
             "dev": true
         },
         "@babel/helper-validator-identifier": {
@@ -545,12 +545,12 @@
             }
         },
         "@babel/plugin-syntax-export-default-from": {
-            "version": "7.23.3",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz",
-            "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.1.tgz",
+            "integrity": "sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.22.5"
+                "@babel/helper-plugin-utils": "^7.24.0"
             },
             "dependencies": {
                 "@babel/helper-plugin-utils": {
@@ -650,12 +650,12 @@
             }
         },
         "@babel/plugin-syntax-typescript": {
-            "version": "7.23.3",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
-            "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz",
+            "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.22.5"
+                "@babel/helper-plugin-utils": "^7.24.0"
             },
             "dependencies": {
                 "@babel/helper-plugin-utils": {
@@ -971,25 +971,25 @@
             }
         },
         "@babel/plugin-transform-typescript": {
-            "version": "7.23.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
-            "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.1.tgz",
+            "integrity": "sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==",
             "dev": true,
             "requires": {
                 "@babel/helper-annotate-as-pure": "^7.22.5",
-                "@babel/helper-create-class-features-plugin": "^7.23.6",
-                "@babel/helper-plugin-utils": "^7.22.5",
-                "@babel/plugin-syntax-typescript": "^7.23.3"
+                "@babel/helper-create-class-features-plugin": "^7.24.1",
+                "@babel/helper-plugin-utils": "^7.24.0",
+                "@babel/plugin-syntax-typescript": "^7.24.1"
             },
             "dependencies": {
                 "@babel/code-frame": {
-                    "version": "7.23.5",
-                    "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
-                    "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+                    "version": "7.24.2",
+                    "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
+                    "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
                     "dev": true,
                     "requires": {
-                        "@babel/highlight": "^7.23.4",
-                        "chalk": "^2.4.2"
+                        "@babel/highlight": "^7.24.2",
+                        "picocolors": "^1.0.0"
                     }
                 },
                 "@babel/helper-annotate-as-pure": {
@@ -1002,9 +1002,9 @@
                     }
                 },
                 "@babel/helper-create-class-features-plugin": {
-                    "version": "7.24.0",
-                    "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz",
-                    "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz",
+                    "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-annotate-as-pure": "^7.22.5",
@@ -1012,7 +1012,7 @@
                         "@babel/helper-function-name": "^7.23.0",
                         "@babel/helper-member-expression-to-functions": "^7.23.0",
                         "@babel/helper-optimise-call-expression": "^7.22.5",
-                        "@babel/helper-replace-supers": "^7.22.20",
+                        "@babel/helper-replace-supers": "^7.24.1",
                         "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
                         "@babel/helper-split-export-declaration": "^7.22.6",
                         "semver": "^6.3.1"
@@ -1059,13 +1059,13 @@
                     "dev": true
                 },
                 "@babel/helper-replace-supers": {
-                    "version": "7.22.20",
-                    "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
-                    "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz",
+                    "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-environment-visitor": "^7.22.20",
-                        "@babel/helper-member-expression-to-functions": "^7.22.15",
+                        "@babel/helper-member-expression-to-functions": "^7.23.0",
                         "@babel/helper-optimise-call-expression": "^7.22.5"
                     }
                 },
@@ -1094,20 +1094,21 @@
                     "dev": true
                 },
                 "@babel/highlight": {
-                    "version": "7.23.4",
-                    "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
-                    "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+                    "version": "7.24.2",
+                    "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
+                    "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-validator-identifier": "^7.22.20",
                         "chalk": "^2.4.2",
-                        "js-tokens": "^4.0.0"
+                        "js-tokens": "^4.0.0",
+                        "picocolors": "^1.0.0"
                     }
                 },
                 "@babel/parser": {
-                    "version": "7.24.0",
-                    "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
-                    "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz",
+                    "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==",
                     "dev": true
                 },
                 "@babel/template": {
@@ -1271,16 +1272,16 @@
             }
         },
         "@babel/preset-typescript": {
-            "version": "7.23.3",
-            "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz",
-            "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz",
+            "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.22.5",
-                "@babel/helper-validator-option": "^7.22.15",
-                "@babel/plugin-syntax-jsx": "^7.23.3",
-                "@babel/plugin-transform-modules-commonjs": "^7.23.3",
-                "@babel/plugin-transform-typescript": "^7.23.3"
+                "@babel/helper-plugin-utils": "^7.24.0",
+                "@babel/helper-validator-option": "^7.23.5",
+                "@babel/plugin-syntax-jsx": "^7.24.1",
+                "@babel/plugin-transform-modules-commonjs": "^7.24.1",
+                "@babel/plugin-transform-typescript": "^7.24.1"
             },
             "dependencies": {
                 "@babel/helper-environment-visitor": {
@@ -1290,12 +1291,12 @@
                     "dev": true
                 },
                 "@babel/helper-module-imports": {
-                    "version": "7.22.15",
-                    "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-                    "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+                    "version": "7.24.3",
+                    "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
+                    "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
                     "dev": true,
                     "requires": {
-                        "@babel/types": "^7.22.15"
+                        "@babel/types": "^7.24.0"
                     }
                 },
                 "@babel/helper-module-transforms": {
@@ -1348,22 +1349,22 @@
                     "dev": true
                 },
                 "@babel/plugin-syntax-jsx": {
-                    "version": "7.23.3",
-                    "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
-                    "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz",
+                    "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==",
                     "dev": true,
                     "requires": {
-                        "@babel/helper-plugin-utils": "^7.22.5"
+                        "@babel/helper-plugin-utils": "^7.24.0"
                     }
                 },
                 "@babel/plugin-transform-modules-commonjs": {
-                    "version": "7.23.3",
-                    "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
-                    "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
+                    "version": "7.24.1",
+                    "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz",
+                    "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==",
                     "dev": true,
                     "requires": {
                         "@babel/helper-module-transforms": "^7.23.3",
-                        "@babel/helper-plugin-utils": "^7.22.5",
+                        "@babel/helper-plugin-utils": "^7.24.0",
                         "@babel/helper-simple-access": "^7.22.5"
                     }
                 },
@@ -1401,9 +1402,9 @@
             }
         },
         "@babel/runtime-corejs2": {
-            "version": "7.24.0",
-            "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.24.0.tgz",
-            "integrity": "sha512-RZVGq1it0GA1K8rb+z7v7NzecP6VYCMedN7yHsCCIQUMmRXFCPJD8GISdf6uIGj7NDDihg7ieQEzpdpQbUL75Q==",
+            "version": "7.24.1",
+            "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.24.1.tgz",
+            "integrity": "sha512-De0q0utpUPiXnc7+B7Ku86mJ0eDItC/v3uFa/lQkq63XnHyZiytDHeCIvechlnVwwpU2ChjGF7c3I+mBrTudwg==",
             "dev": true,
             "requires": {
                 "core-js": "^2.6.12",
@@ -1567,8 +1568,8 @@
             }
         },
         "@exabyte-io/application-flavors.js": {
-            "version": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
-            "from": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
+            "version": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
+            "from": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
@@ -1644,8 +1645,9 @@
             }
         },
         "@exabyte-io/code.js": {
-            "version": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
-            "from": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
+            "version": "2024.2.29-0",
+            "resolved": "https://registry.npmjs.org/@exabyte-io/code.js/-/code.js-2024.2.29-0.tgz",
+            "integrity": "sha512-pOqR/X3jWTbczUMNJdsG5AqAurI0zqJIni/SPJZI8hsXykmKBpQAYRGZT7XBsTdUf4x3YcwPkyrGla2Tt5Z62w==",
             "dev": true,
             "requires": {
                 "crypto-js": "^4.1.1",
@@ -1697,8 +1699,8 @@
             "dev": true
         },
         "@exabyte-io/made.js": {
-            "version": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
-            "from": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
+            "version": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
+            "from": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.16.0",
@@ -1919,8 +1921,9 @@
             "dev": true
         },
         "@mat3ra/esse": {
-            "version": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
-            "from": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
+            "version": "2024.3.20-0",
+            "resolved": "https://registry.npmjs.org/@mat3ra/esse/-/esse-2024.3.20-0.tgz",
+            "integrity": "sha512-X+VXCpv8yCSUhYulfvxjWk675usIsVbmiX0tsCpTGxFugKr9PdGRr3Jw+riYy4u5AniVenFR8TVognGn9zIvww==",
             "dev": true,
             "requires": {
                 "@babel/cli": "7.16.0",
diff --git a/package.json b/package.json
index 2990f60..7f562a7 100644
--- a/package.json
+++ b/package.json
@@ -44,11 +44,11 @@
         "underscore.string": "^3.3.4"
     },
     "devDependencies": {
-        "@exabyte-io/code.js": "git+https://github.com/Exabyte-io/code.js.git#5937dc94eb8ca88c6f3e4e9c8f93050e56a869ea",
+        "@exabyte-io/code.js": "2024.2.29-0",
         "@exabyte-io/eslint-config": "^2022.11.17-0",
-        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#882ce639da8b36ef208fe0e6318c6c7a40485274",
-        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#6af8d952e9c345bd26f0c0889d2f4f6c623cc2e0",
-        "@mat3ra/esse": "git+https://github.com/Exabyte-io/esse.git#a967135c3bf155242fc2a5d0a0a262ffdf5d68b7",
+        "@exabyte-io/made.js": "git+https://github.com/Exabyte-io/made.js.git#ccc812354cc4a0324fa346d5860da28d435ed0fd",
+        "@exabyte-io/application-flavors.js": "git+https://github.com/Exabyte-io/application-flavors.git#4a9bb4eebe85e5c3be5c8232156c025156352d26",
+        "@mat3ra/esse": "2024.3.20-0",
         "chai": "^4.3.4",
         "eslint": "7.32.0",
         "eslint-config-airbnb": "19.0.2",
diff --git a/src/context/providers/espresso/providers.js b/src/context/providers/espresso/providers.js
index 2069afe..3db5773 100644
--- a/src/context/providers/espresso/providers.js
+++ b/src/context/providers/espresso/providers.js
@@ -29,14 +29,9 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
         return material.Basis.uniqueElements;
     }
 
-    static atomSymbolsWithLabels(material) {
-        const symbols = material.Basis.elementsArray;
-        const labels = material.Basis.atomicLabelsArray;
-        const elmWithLabel = [];
-        symbols.forEach((symbol, idx) => elmWithLabel.push(symbol + labels[idx]));
-
+    static uniqueElementsWithLabels(material) {
         // return unique items
-        return [...new Set(elmWithLabel)];
+        return [...new Set(material.Basis.elementsWithLabelsArray)];
     }
 
     /** Returns the input text block for atomic positions WITH constraints.
@@ -61,7 +56,7 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
     }
 
     static NTYP_WITH_LABELS(material) {
-        return this.atomSymbolsWithLabels(material).length;
+        return this.uniqueElementsWithLabels(material).length;
     }
 
     buildQEPWXContext(material) {
@@ -127,12 +122,12 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
     }
 
     ATOMIC_SPECIES_WITH_LABELS(material) {
-        return QEPWXContextProvider.atomSymbolsWithLabels(material)
+        return QEPWXContextProvider.uniqueElementsWithLabels(material)
             .map((symbol) => {
                 const symbolWithoutLabel = symbol.replace(/\d$/, "");
                 const label = symbol.match(/\d$/g) ? symbol.match(/\d$/g)[0] : "";
                 const pseudo = this.getPseudoBySymbol(symbolWithoutLabel);
-                return QEPWXContextProvider.symbolToAtomicSpecieWithLabels(
+                return QEPWXContextProvider.elementAndPseudoToAtomicSpecieWithLabels(
                     symbolWithoutLabel,
                     pseudo,
                     label,
@@ -156,13 +151,13 @@ export class QEPWXContextProvider extends mix(ExecutableContextProvider).with(
     static symbolToAtomicSpecie(symbol, pseudo) {
         const el = PERIODIC_TABLE[symbol];
         const filename = pseudo?.filename || path.basename(pseudo?.path || "");
-        return el ? s.sprintf("%s %f %s", symbol, el.atomic_mass, filename) : undefined;
+        return s.sprintf("%s %f %s", symbol, el.atomic_mass, filename) || "";
     }
 
-    static symbolToAtomicSpecieWithLabels(symbol, pseudo, label = "") {
+    static elementAndPseudoToAtomicSpecieWithLabels(symbol, pseudo, label = "") {
         const el = PERIODIC_TABLE[symbol];
         const filename = pseudo?.filename || path.basename(pseudo?.path || "");
-        return el ? s.sprintf("%s%s %f %s", symbol, label, el.atomic_mass, filename) : undefined;
+        return s.sprintf("%s%s %f %s", symbol, label, el.atomic_mass, filename) || "";
     }
 }
 
