diff --git a/bin/MasterDistiller.js b/bin/MasterDistiller.js
index 80b9181791ad820847dd636e66240e65c20cb1e0..c7deec68f64b8d9ce450fe7e760356a978c66845 100755
--- a/bin/MasterDistiller.js
+++ b/bin/MasterDistiller.js
@@ -1,5 +1,7 @@
 #!/usr/bin/node
 
+"use strict"
+
 const   Libbfa      =   require( process.env.BFAHOME + '/bin/libbfa.js');
 const   rl          =   require('readline').createInterface(
         { input: process.stdin, output: process.stdout }
@@ -25,6 +27,8 @@ function    init()
     bfa             =   new Libbfa();
     web3            =   bfa.newweb3();
     Distillery      =   bfa.contract( web3, 'Distillery' );
+    if ( undefined == Distillery )
+        fatal('Can not initialise Distillery contact.');
     web3.eth.getBalance( Distillery.contractaddress ).then(
         function receivedOwnBalance(val) {
             Distillery.contractbalance = val;
@@ -128,7 +132,7 @@ function    editAccount( entry, pallet )
     if ( entry == "x" )
     {
         // trigger distribution
-        Distillery.methods.distribute().send( {"from": bfa.account, "gas": 1000000 } )
+        Distillery.methods.distribute().send( {"from": bfa.account, "gas": 4000000 } )
         .then(
             function distOK(x) {
                 console.log(
@@ -155,7 +159,15 @@ function    editAccount( entry, pallet )
         return;
     }
     else
+    if ( entry == "" )
+    {
+        // Do nothing, basically just update the display
+        return;
+    }
+    else
+    {
         bfa.fatal("I don't know what to do with \""+entry+"\"." );
+    }
     rl.question(
         "Adjust the "
         + notation[2]
diff --git a/bin/libbfa.js b/bin/libbfa.js
index 25d17a96d67e792e64d67c50a76dbc7b46395ee0..6bab557a5bc15c557432463acb5c0dc1468c3726 100644
--- a/bin/libbfa.js
+++ b/bin/libbfa.js
@@ -1,63 +1,70 @@
 // 20180724 Robert Martin-Legene <robert@nic.ar>
 
+"use strict"
+
 module.exports = class Libbfa
 {
     constructor() {
-        this.fs                     =   require('fs');
-        this.Web3                   =   require('web3');
+        this.fs                         =   require('fs');
+        this.Web3                       =   require('web3');
         //
         // BFAHOME
         if ( undefined == process.env.BFAHOME )
             fatal( "$BFAHOME not set. Did you source bfa/bin/env ?" );
         // BFANETWORKID
+        this.home                       =   process.env.BFAHOME;
         if ( undefined == process.env.BFANETWORKID )
-            process.env.BFANETWORKID=   47525974938;
+            process.env.BFANETWORKID    =   47525974938;
+        this.networkid                  =   process.env.BFANETWORKID;
         // BFANETWORKDIR
         if ( undefined == process.env.BFANETWORKDIR )
-            process.env.BFANETWORKDIR = process.env.BFAHOME + '/network';
+            process.env.BFANETWORKDIR   =   process.env.BFAHOME + '/network';
+        this.networkdir                 =   process.env.BFANETWORKDIR;
         // BFANODEDIR
         if ( undefined == process.env.BFANODEDIR )
-            process.env.BFANODEDIR  =   this.networkdir + "/node";
+            process.env.BFANODEDIR      =   this.networkdir + "/node";
+        this.nodedir                    =   process.env.BFANODEDIR;
         // ACCOUNT
         if ( undefined == process.env.BFAACCOUNT )
         {
             var     files               =   new Array();
-            this.fs.readdirSync( process.env.BFANODEDIR + '/keystore' ).forEach( function(filename) {
-                if ( filename.includes('--') )
-                    files.push( filename );
-            });
+            if ( this.fs.existsSync( process.env.BFANODEDIR + '/keystore' ) )
+            {
+                this.fs.readdirSync(   process.env.BFANODEDIR + '/keystore' ).forEach( function(filename) {
+                    if ( filename.includes('--') )
+                        files.push( filename );
+                });
+            }
             // found none?
-            if ( files.length == 0 )
-                fatal( "Found no accounts in your keystore." );
-            files.sort();
-            process.env.BFAACCOUNT  =   '0x' + files[0].replace( /^.*--/, '' );
+            if ( files.length > 0 )
+            {
+                files.sort();
+                process.env.BFAACCOUNT  =   '0x' + files[0].replace( /^.*--/, '' );
+            }
         }
         //
-        this.home                   =   process.env.BFAHOME;
-        this.networkid              =   process.env.BFANETWORKID;
-        this.networkdir             =   process.env.BFANETWORKDIR;
-        this.nodedir                =   process.env.BFANODEDIR;
-        this.netport                =   Number.parseInt( this.setfromfile( this.nodedir+'/netport', 30303 );
-        this.rpcport                =   Number.parseInt( this.setfromfile( this.nodedir+'/rpcport',  8545 );
-        this.account                =   process.env.BFAACCOUNT;
+        this.netport                    =   Number.parseInt( this.setfromfile( this.nodedir+'/netport', 30303 ));
+        this.rpcport                    =   Number.parseInt( this.setfromfile( this.nodedir+'/rpcport',  8545 ));
+        this.account                    =   process.env.BFAACCOUNT;
     }
 
     contract(w3, name)
     {
-        this._networkdir();
-        var     contractdir         =   [ this.networkdir, 'contracts', name ].join('/');
-        var     contractaddress     =   this.fs.realpathSync( contractdir ).replace(/^.*\//, '');
+        var     contractdir             =   [ this.networkdir, 'contracts', name ].join('/');
+        if ( ! this.fs.existsSync( contractdir ) )
+            return;
+        var     contractaddress         =   this.fs.realpathSync( contractdir ).replace(/^.*\//, '');
         if ( undefined == contractaddress )
             return;
-        var     abistr              =   this.fs.readFileSync( contractdir + '/abi' ).toString();
+        var     abistr                  =   this.fs.readFileSync( contractdir + '/abi' ).toString();
         if ( undefined == abistr )
             return;
-        var     abi                 =   JSON.parse( abistr );
+        var     abi                     =   JSON.parse( abistr );
         if ( undefined == abi )
             return;
-        var     c                   =   new w3.eth.Contract( abi, contractaddress );
-        c.abi                       =   abi;
-        c.contractaddress           =   contractaddress;
+        var     c                       =   new w3.eth.Contract( abi, contractaddress );
+        c.abi                           =   abi;
+        c.contractaddress               =   contractaddress;
         return  c;
     }
 
@@ -69,9 +76,8 @@ module.exports = class Libbfa
 
     newweb3()
     {
-        this._nodedir();
-        var     provider            =   'http://127.0.0.1:' + this.rpcport;
-        var     w3                  =   new this.Web3( provider );
+        var     provider                =   'http://127.0.0.1:' + this.rpcport;
+        var     w3                      =   new this.Web3( provider );
         w3.eth.extend({
             //property: 'bfaclique',
             methods: [{
@@ -80,6 +86,9 @@ module.exports = class Libbfa
                 params: 0
             }]
         });
+        if ( undefined != process.env.BFAACCOUNT ) {
+            w3.eth.defaultAccount  =   this.account;
+        }
         return w3;
     }
     isNumeric(n) {
@@ -92,7 +101,7 @@ module.exports = class Libbfa
 
     setfromfile( filename, defval )
     {
-        if ( this.fs.statSync( filename ).isFile() )
+        if ( this.fs.existsSync( filename ) )
             return this.fs.readFileSync( filename );
         return defval;
     }