diff --git a/lib/coalesce.js b/core/base-service/coalesce.js
similarity index 100%
rename from lib/coalesce.js
rename to core/base-service/coalesce.js
diff --git a/lib/coalesce.spec.js b/core/base-service/coalesce.spec.js
similarity index 100%
rename from lib/coalesce.spec.js
rename to core/base-service/coalesce.spec.js
diff --git a/lib/validate.js b/core/base-service/validate.js
similarity index 95%
rename from lib/validate.js
rename to core/base-service/validate.js
index 4b262cbb6a7bce31bdef7ef446591411dbb743d7..38adcebfdd9e4b8ad5581cd0f18f4bcccb00ac77 100644
--- a/lib/validate.js
+++ b/core/base-service/validate.js
@@ -2,7 +2,7 @@
 
 const emojic = require('emojic')
 const Joi = require('joi')
-const trace = require('../services/trace')
+const trace = require('../../services/trace')
 
 function validate(
   {
diff --git a/lib/validate.spec.js b/core/base-service/validate.spec.js
similarity index 96%
rename from lib/validate.spec.js
rename to core/base-service/validate.spec.js
index 57cf560ee832b2b422b957cbafcd0e491e3884c1..3a9afd8162c1da87adde6eb4588e9359300666fc 100644
--- a/lib/validate.spec.js
+++ b/core/base-service/validate.spec.js
@@ -3,8 +3,8 @@
 const Joi = require('joi')
 const { expect } = require('chai')
 const sinon = require('sinon')
-const trace = require('../services/trace')
-const { InvalidParameter } = require('../services/errors')
+const trace = require('../../services/trace')
+const { InvalidParameter } = require('../../services/errors')
 const validate = require('./validate')
 
 describe('validate', function() {
diff --git a/lib/logos.js b/lib/logos.js
index 50795b0501587563b4fdcb156d0668e6d38102fe..926b4774e37b156230755b3cdbeb6364cc86ead6 100644
--- a/lib/logos.js
+++ b/lib/logos.js
@@ -1,7 +1,7 @@
 'use strict'
 
 const { toSvgColor } = require('../gh-badges/lib/color')
-const coalesce = require('./coalesce')
+const coalesce = require('../core/base-service/coalesce')
 const { svg2base64 } = require('./svg-helpers')
 
 const logos = require('./load-logos')()
diff --git a/services/base.js b/services/base.js
index 664cd307cc5864a2d97369a376ff4a666a7a05ff..c2067ec3d39ba42f0bfd772959649347ee841f1a 100644
--- a/services/base.js
+++ b/services/base.js
@@ -11,8 +11,8 @@ const {
   InvalidParameter,
   Deprecated,
 } = require('./errors')
-const coalesce = require('../lib/coalesce')
-const validate = require('../lib/validate')
+const coalesce = require('../core/base-service/coalesce')
+const validate = require('../core/base-service/validate')
 const { checkErrorResponse } = require('../lib/error-helper')
 const { toArray } = require('../lib/badge-data')
 const { svg2base64 } = require('../lib/svg-helpers')
diff --git a/services/cache-headers.js b/services/cache-headers.js
index 76d75756a25c0fdef2578546026a8266d6be1b9f..a9370a290fe382ca95f6207ee0db8d0ad2f38fe7 100644
--- a/services/cache-headers.js
+++ b/services/cache-headers.js
@@ -2,7 +2,7 @@
 
 const assert = require('assert')
 const Joi = require('joi')
-const coalesce = require('../lib/coalesce')
+const coalesce = require('../core/base-service/coalesce')
 
 const serverStartTimeGMTString = new Date().toGMTString()
 const serverStartTimestamp = Date.now()
diff --git a/services/dynamic-common.js b/services/dynamic-common.js
index eaa7df086c9d1677716470035c88b622726ef1c0..1eb0345ec5e8539dfbe60f77750ff5f2f916de76 100644
--- a/services/dynamic-common.js
+++ b/services/dynamic-common.js
@@ -1,7 +1,7 @@
 'use strict'
 
 const Joi = require('joi')
-const validate = require('../lib/validate')
+const validate = require('../core/base-service/validate')
 const { toArray } = require('../lib/badge-data')
 const { InvalidResponse } = require('./errors')