diff --git a/api.go b/api.go
index 75e87fa..b1fa4be 100644
--- a/api.go
+++ b/api.go
@@ -2,7 +2,6 @@
 
 import (
 	"encoding/json"
-	"fmt"
 	"github.com/30x/apid-core"
 	"github.com/30x/apidQuota/constants"
 	"github.com/30x/apidQuota/globalVariables"
@@ -51,7 +50,6 @@
 		return
 	}
 
-	fmt.Println("test2 : ", results)
 	respMap := results.ToAPIResponse()
 	respbytes, err := json.Marshal(respMap)
 
diff --git a/quotaBucket/apiUtil.go b/quotaBucket/apiUtil.go
index 707ab62..b739cad 100644
--- a/quotaBucket/apiUtil.go
+++ b/quotaBucket/apiUtil.go
@@ -5,7 +5,6 @@
 	"reflect"
 	"time"
 	"github.com/30x/apidQuota/constants"
-	"fmt"
 )
 
 const (
@@ -25,7 +24,6 @@
 }
 
 func (qBucketRequest *QuotaBucket) FromAPIRequest(quotaBucketMap map[string]interface{}) error {
-	fmt.Println("qBucketRequest: ", qBucketRequest.quotaBucketData )
 	var cacheKey string
 	var edgeOrgID, id, timeUnit, quotaType string
 	var interval int
@@ -176,8 +174,6 @@
 					if err != nil {
 						return errors.New("error creating quotaBucket: " + err.Error())
 					}
-					fmt.Println("qbucket: ", qBucketRequest)
-					fmt.Println("newqbucket: ", newQBucket)
 
 					qBucketRequest.quotaBucketData = newQBucket.quotaBucketData
 
diff --git a/quotaBucket/quotaBucket.go b/quotaBucket/quotaBucket.go
index 5b81b1d..0a06b21 100644
--- a/quotaBucket/quotaBucket.go
+++ b/quotaBucket/quotaBucket.go
@@ -3,9 +3,9 @@
 import (
 	"errors"
 	"github.com/30x/apidQuota/constants"
+	"github.com/30x/apidQuota/globalVariables"
 	"strings"
 	"time"
-	"fmt"
 )
 
 var (
@@ -87,6 +87,7 @@
 	Synchronous           bool
 	SyncTimeInSec         int64
 	SyncMessageCount      int64
+	AsyncMessageCounter int64
 	QTicker *time.Ticker
 
 }
@@ -116,6 +117,7 @@
 		Synchronous:           synchronous,
 		SyncTimeInSec:         syncTimeInSec,
 		SyncMessageCount:      syncMessageCount,
+		AsyncMessageCounter: int64(-1),
 		QTicker: &time.Ticker{},
 	}
 
@@ -128,14 +130,14 @@
 		return nil, err
 	}
 
-	//for async start the scheduler
+	//for async SetAsyncMessageCounter to 0 and also start the scheduler
 	if distributed && !synchronous{
+		quotaBucket.SetAsyncMessageCounter(0)
 		quotaBucket.quotaBucketData.QTicker =  time.NewTicker(time.Second)
 		go func() {
 			count := 0
-			fmt.Println("inside create ticker")
 			for t := range quotaBucket.quotaBucketData.QTicker.C {
-				fmt.Println("Ticker ticked ", t)
+				globalVariables.Log.Debug("t: : ", t.String())
 				if count > 10 {
 					quotaBucket.getTicker().Stop()
 				}
@@ -144,7 +146,6 @@
 		}()
 	}
 
-	fmt.Println("quotaBucketdata: " ,quotaBucket.quotaBucketData)
 	return quotaBucket, nil
 
 }
@@ -216,6 +217,9 @@
 	return q.quotaBucketData.Synchronous
 }
 
+func (qbucket *QuotaBucket) SetAsyncMessageCounter(count int64) {
+	qbucket.quotaBucketData.AsyncMessageCounter = count
+}
 
 func (q *QuotaBucket) getTicker() *time.Ticker {
 	return q.quotaBucketData.QTicker
diff --git a/quotaBucket/quotaBucketType.go b/quotaBucket/quotaBucketType.go
index b6ea239..3c73d46 100644
--- a/quotaBucket/quotaBucketType.go
+++ b/quotaBucket/quotaBucketType.go
@@ -2,9 +2,7 @@
 
 import (
 	"errors"
-	"fmt"
 	"github.com/30x/apidQuota/services"
-	"time"
 )
 
 type QuotaBucketType interface {
@@ -44,7 +42,6 @@
 
 func (sQuotaBucket SynchronousQuotaBucketType) incrementQuotaCount(q *QuotaBucket) (*QuotaBucketResults, error) {
 
-	fmt.Println("increment count for sync")
 	maxCount := q.GetMaxCount()
 	exceededCount := false
 	allowedCount := int64(0)
@@ -112,17 +109,7 @@
 
 func (quotaBucketType AsynchronousQuotaBucketType) incrementQuotaCount(q *QuotaBucket) (*QuotaBucketResults, error) {
 	//getCount()
-	fmt.Println("increment count for async")
-	results := &QuotaBucketResults{
-		EdgeOrgID:      q.GetEdgeOrgID(),
-		ID:             q.GetID(),
-		exceededTokens: true,
-		currentTokens:  51,
-		MaxCount:       50,
-		startedAt:      time.Now().Unix(),
-		expiresAt:      time.Now().Unix(),
-	}
-	return results, nil
+	return nil, nil
 }
 
 func (quotaBucketType AsynchronousQuotaBucketType) resetQuotaForCurrentPeriod(q *QuotaBucket) (*QuotaBucketResults, error) {
@@ -136,7 +123,6 @@
 	return nil
 }
 func (sQuotaBucket NonDistributedQuotaBucketType) incrementQuotaCount(qBucket *QuotaBucket) (*QuotaBucketResults, error) {
-	fmt.Println("increment count for nondistributed.")
 
 	return nil, nil
 }
diff --git a/quotaBucket/quotaBucket_test.go b/quotaBucket/quotaBucket_test.go
index 3a8fcfb..08b580c 100644
--- a/quotaBucket/quotaBucket_test.go
+++ b/quotaBucket/quotaBucket_test.go
@@ -407,23 +407,6 @@
 			Fail("Exprected true, returned: false")
 		}
 
-		//end Time in period is now // cant set end time to now and tes.. by the time it evaluates isCurrentPeriod the period.endTime will be before time.now()
-		//fmt.Println("entTIme is now : ")
-		//startTime = time.Now().Unix()
-		//period = NewQuotaPeriod(time.Now().AddDate(0,-1,-1).Unix(),
-		//	time.Now().AddDate(0,0,-1).Unix(),
-		//	time.Now().Unix())
-		//quotaBucket = NewQuotaBucket(edgeOrgID, id, interval, timeUnit, quotaType, preciseAtSecondsLevel, period, startTime, maxCount, bucketType)
-		//err = quotaBucket.Validate()
-		//if err != nil {
-		//	Fail("no error expected but got error: " + err.Error())
-		//}
-		//
-		//period.IsCurrentPeriod(quotaBucket)
-		//if ok := period.IsCurrentPeriod(quotaBucket); !ok{
-		//	Fail("Exprected true, returned: false")
-		//}
-
 		//end Time in period is after now
 		startTime = time.Now().UTC().Unix()
 		quotaBucket, err = NewQuotaBucket(edgeOrgID, id, interval, timeUnit,
diff --git a/quotaBucket/quotaCache.go b/quotaBucket/quotaCache.go
index e0cfe11..4c8338e 100644
--- a/quotaBucket/quotaCache.go
+++ b/quotaBucket/quotaCache.go
@@ -4,7 +4,6 @@
 	"github.com/30x/apidQuota/constants"
 	"time"
 	"sync"
-	"fmt"
 )
 
 var quotaCachelock = sync.RWMutex{}
@@ -22,26 +21,28 @@
 
 func getFromCache(cacheKey string) (*QuotaBucket,bool) {
 	quotaCachelock.Lock()
+	defer quotaCachelock.Unlock()
 	qBucketCache, ok := quotaCache[cacheKey]
-	quotaCachelock.Unlock()
 	if !ok {
-		fmt.Println("not in cache. add to cache.")
 		return nil,false
 	}
 
 	isExpired := time.Unix(qBucketCache.expiryTime, 0).Before(time.Now().UTC())
 	if isExpired {
-		fmt.Println("quotaBucket expired: remove from cache and return false.")
 		removeFromCache(cacheKey, qBucketCache)
 		return nil, false
 	}
 
+	// update expiry time every time you access.
+	ttl := time.Now().UTC().Add(constants.CacheTTL).Unix()
+	qBucketCache.expiryTime = ttl
+	quotaCache[cacheKey] = qBucketCache
+
 	return qBucketCache.qBucket, true
 
 }
 
 func removeFromCache(cacheKey string, qBucketCache quotaBucketCache) {
-	fmt.Println("inside remove from cache")
 	//for async Stop the scheduler.
 	if qBucketCache.qBucket.Distributed && !qBucketCache.qBucket.IsSynchronous(){
 		qBucketCache.qBucket.getTicker().Stop()
@@ -61,10 +62,7 @@
 		expiryTime: ttl,
 	}
 
-	fmt.Println("qbucket in cache: ", qBucketToAdd.getTicker())
 	quotaCachelock.Lock()
 	quotaCache[cacheKey] = qCacheData
 	quotaCachelock.Unlock()
-	fmt.Println("duration: " ,time.Unix(qCacheData.expiryTime,0).String())
-	fmt.Println("now: ", time.Now().UTC())
 }
diff --git a/services/counterServiceHelper.go b/services/counterServiceHelper.go
index a2c95aa..21fea87 100644
--- a/services/counterServiceHelper.go
+++ b/services/counterServiceHelper.go
@@ -4,7 +4,6 @@
 	"bytes"
 	"encoding/json"
 	"errors"
-	"fmt"
 	"github.com/30x/apidQuota/constants"
 	"github.com/30x/apidQuota/globalVariables"
 	"io/ioutil"
@@ -32,7 +31,6 @@
 }
 
 func IncrementAndGetCount(orgID string, quotaKey string, count int64, startTimeInt int64, endTimeInt int64) (int64, error) {
-	fmt.Println("calling counter service")
 	headers := http.Header{}
 	headers.Set("Accept", "application/json")
 	headers.Set("Content-Type", "application/json")
@@ -56,9 +54,6 @@
 	reqBody[startTime] = startTimeInt * int64(1000)
 	reqBody[endTime] = endTimeInt * int64(1000)
 
-	fmt.Println("startTime: ", startTimeInt)
-	fmt.Println("endTime: ", endTimeInt)
-
 	reqBodyBytes, err := json.Marshal(reqBody)
 	if err != nil {
 		return 0, errors.New(constants.MarshalJSONError)
@@ -73,7 +68,6 @@
 		ContentLength: int64(contentLength),
 	}
 
-	fmt.Println("req: ", request)
 	resp, err := client.Do(request)
 
 	if err != nil {
@@ -104,7 +98,6 @@
 	if !ok {
 		return 0, errors.New(`invalid response from counter service. field 'count' not sent in the response`)
 	}
-	fmt.Println("respcount: ", respCount)
 
 	globalVariables.Log.Debug("responseCount: ", respCount)
 
