diff --git a/config.sample.json b/config.sample.json
new file mode 100644
index 0000000..c0f1efc
--- /dev/null
+++ b/config.sample.json
@@ -0,0 +1,15 @@
+{
+    "webhook_port": 28232,
+    "webhook_prefix": "",
+    "token": "",
+    "listen_port": 23232,
+    "msisdn_suffix": "@telegram.org",
+    "message_max_age": 120,
+    "greeting_prefix": "",
+    "evo_url": "",
+    "smsc": "",
+    "send_ping_to_evo": 0,
+    "ping_pin": "",
+    "ping_from": "",
+
+}
diff --git a/evo-im.js b/evo-im.js
index 24fba13..2a9b8d2 100644
--- a/evo-im.js
+++ b/evo-im.js
@@ -25,11 +25,11 @@ function formatTimestamp(ms) {
 
 function onMessage(sender, message, ts, sendMessage) {
     var opts = {
-        url: config.globals.evo_url,
+        url: config.evo_url,
         qs: {
             msg: message,
             msisdn: sender,
-            smsc: config.globals.smsc,
+            smsc: config.smsc,
             ts: formatTimestamp(ts)
         }
     };
@@ -64,15 +64,15 @@ function onMessage(sender, message, ts, sendMessage) {
     });
 
     // kirim ping 1 detik setelah pesan agar segera diproses
-    if (config.globals.send_ping_to_evo == '1') {
+    if (config.send_ping_to_evo == '1') {
         setTimeout(function() {
 
             var pingOpts = {
-                url: config.globals.evo_url,
+                url: config.evo_url,
                 qs: {
-                    msg: 'S.' + config.globals.ping_pin,
-                    msisdn: config.globals.ping_ym_id + config.globals.msisdn_suffix,
-                    smsc: config.globals.smsc,
+                    msg: 'S.' + config.ping_pin,
+                    msisdn: config.ping_from + config.msisdn_suffix,
+                    smsc: config.smsc,
                     ts: strftime('%F %T')
                 }
             };
@@ -94,12 +94,12 @@ function onHttpIncomingMessage(request, response) {
     logger.verbose("onHttpIncomingMessage()", {qs: qs});
 
     // abaikan balikan ping
-    if (qs.to == config.globals.ping_ym_id) {
+    if (qs.to == config.ping_from) {
         return;
     }
 
-    var destination = qs.to.replace(config.globals.msisdn_suffix, '');
-    logger.info('Sending YM message from ' + config.globals.username + ' to ' + destination + ': ' + qs.msg);
+    var destination = qs.to.replace(config.msisdn_suffix, '');
+    logger.info('Sending message to ' + destination + ': ' + qs.msg);
     sendMessage(destination, qs.msg);
     response.end('OK');
 }
@@ -108,8 +108,8 @@ function createHttpServer() {
     logger.verbose('createHttpServer()');
 
     var httpServer = http.createServer(onHttpIncomingMessage);
-    httpServer.listen(config.globals.listen_port, function(){
-        logger.info("HTTP server listening on " + config.globals.listen_port);
+    httpServer.listen(config.listen_port, function(){
+        logger.info("HTTP server listening on " + config.listen_port);
     });
 }
 
diff --git a/index.js b/index.js
index 0008e8a..dcf7eb9 100644
--- a/index.js
+++ b/index.js
@@ -13,14 +13,14 @@ var chat_ids = {};
 
 var options = {
   webHook: {
-    port: config.globals.webhook_port,
+    port: config.webhook_port,
     key: __dirname+'/key.pem',
     cert: __dirname+'/crt.pem'
   }
 };
 
-var bot = new telegram(config.globals.token, options);
-bot.setWebHook(config.globals.webhook_prefix + config.globals.token, __dirname+'/crt.pem');
+var bot = new telegram(config.token, options);
+bot.setWebHook(config.webhook_prefix + config.token, __dirname+'/crt.pem');
 
 function deleteChatId(from) {
 	delete chat_ids[from];
@@ -41,8 +41,8 @@ function createHttpResponseServer(){
 
 		sendMessage(qs.PhoneNumber, qs.text);
 	});
-	httpServer.listen(config.globals.listen_port, function(){
-		logger.info("listening on " + config.globals.listen_port);
+	httpServer.listen(config.listen_port, function(){
+		logger.info("listening on " + config.listen_port);
 	})
 }
 createHttpResponseServer();
@@ -54,11 +54,11 @@ bot.getMe().then(function (me) {
 bot.on('text', function (msg) {
 	logger.info(msg);
 
-    var from = msg.from.username.toUpperCase() + config.globals.msisdn_suffix;
+    var from = msg.from.username.toUpperCase() + config.msisdn_suffix;
 
 	var now = Math.floor(new Date().getTime()/1000);
 
-	if (now - msg.date > config.globals.message_max_age){
+	if (now - msg.date > config.message_max_age){
 		var message = "Pesan anda diabaikan, silahkan diulang beberapa saat lagi jika diperlukan: " + msg.text;
 		logger.info(message, {msg: msg})
 		//bot.sendMessage(msg.chat.id, message);
@@ -69,8 +69,8 @@ bot.on('text', function (msg) {
 	chat_ids[from] = msg.chat.id;
 
     var greeting_prefix = "Pesan anda telah diterima:";
-    if (config.globals.greeting_prefix) {
-        greeting_prefix = config.globals.greeting_prefix;
+    if (config.greeting_prefix) {
+        greeting_prefix = config.greeting_prefix;
     }
 
 	bot.sendMessage(msg.chat.id, greeting_prefix + ' ' + msg.text);