diff --git a/services/base-json.js b/core/base-service/base-json.js
similarity index 100%
rename from services/base-json.js
rename to core/base-service/base-json.js
diff --git a/services/base-json.spec.js b/core/base-service/base-json.spec.js
similarity index 100%
rename from services/base-json.spec.js
rename to core/base-service/base-json.spec.js
diff --git a/services/base-non-memory-caching.js b/core/base-service/base-non-memory-caching.js
similarity index 93%
rename from services/base-non-memory-caching.js
rename to core/base-service/base-non-memory-caching.js
index 953d1a3262f2cd2a2fae35881402e48217ebc24c..9ffe066c5804c699355a198d25480e6373c131be 100644
--- a/services/base-non-memory-caching.js
+++ b/core/base-service/base-non-memory-caching.js
@@ -1,9 +1,9 @@
 'use strict'
 
-const makeBadge = require('../gh-badges/lib/make-badge')
-const { makeSend } = require('../core/base-service/legacy-result-sender')
+const makeBadge = require('../../gh-badges/lib/make-badge')
 const BaseService = require('./base')
 const { setCacheHeaders } = require('./cache-headers')
+const { makeSend } = require('./legacy-result-sender')
 
 // Badges are subject to two independent types of caching: in-memory and
 // downstream.
diff --git a/services/base-static.js b/core/base-service/base-static.js
similarity index 87%
rename from services/base-static.js
rename to core/base-service/base-static.js
index 94f0b699550910e4bc49369aad6fcddb814d092d..d9afd34672cc6db0b8d89c868376fc930a41d59e 100644
--- a/services/base-static.js
+++ b/core/base-service/base-static.js
@@ -1,13 +1,13 @@
 'use strict'
 
-const makeBadge = require('../gh-badges/lib/make-badge')
-const { makeSend } = require('../core/base-service/legacy-result-sender')
-const analytics = require('../core/server/analytics')
+const makeBadge = require('../../gh-badges/lib/make-badge')
+const analytics = require('../server/analytics')
 const BaseService = require('./base')
 const {
   serverHasBeenUpSinceResourceCached,
   setCacheHeadersForStaticResource,
 } = require('./cache-headers')
+const { makeSend } = require('./legacy-result-sender')
 
 module.exports = class BaseStaticService extends BaseService {
   static register({ camp }, serviceConfig) {
diff --git a/services/base-svg-scraping.js b/core/base-service/base-svg-scraping.js
similarity index 100%
rename from services/base-svg-scraping.js
rename to core/base-service/base-svg-scraping.js
diff --git a/services/base-svg-scraping.spec.js b/core/base-service/base-svg-scraping.spec.js
similarity index 97%
rename from services/base-svg-scraping.spec.js
rename to core/base-service/base-svg-scraping.spec.js
index 05b80babbf4190c3ea362a40481d0c1f5427af93..2cc8af5c2f8ce249057c9629f3cf713cdfc3cca6 100644
--- a/services/base-svg-scraping.spec.js
+++ b/core/base-service/base-svg-scraping.spec.js
@@ -3,8 +3,8 @@
 const { expect } = require('chai')
 const sinon = require('sinon')
 const Joi = require('joi')
-const { makeBadgeData } = require('../lib/badge-data')
-const makeBadge = require('../gh-badges/lib/make-badge')
+const { makeBadgeData } = require('../../lib/badge-data')
+const makeBadge = require('../../gh-badges/lib/make-badge')
 const BaseSvgScrapingService = require('./base-svg-scraping')
 
 function makeExampleSvg({ label, message }) {
diff --git a/services/base-xml.js b/core/base-service/base-xml.js
similarity index 100%
rename from services/base-xml.js
rename to core/base-service/base-xml.js
diff --git a/services/base-xml.spec.js b/core/base-service/base-xml.spec.js
similarity index 100%
rename from services/base-xml.spec.js
rename to core/base-service/base-xml.spec.js
diff --git a/services/base-yaml.js b/core/base-service/base-yaml.js
similarity index 100%
rename from services/base-yaml.js
rename to core/base-service/base-yaml.js
diff --git a/services/base-yaml.spec.js b/core/base-service/base-yaml.spec.js
similarity index 100%
rename from services/base-yaml.spec.js
rename to core/base-service/base-yaml.spec.js
diff --git a/services/base.js b/core/base-service/base.js
similarity index 97%
rename from services/base.js
rename to core/base-service/base.js
index d8765290032387ce4a2e14204f0ea7a21455dd7b..b864adf0ca1d6fdf50720dab2f83e7c10bbf9e39 100644
--- a/services/base.js
+++ b/core/base-service/base.js
@@ -4,6 +4,15 @@
 const emojic = require('emojic')
 const pathToRegexp = require('path-to-regexp')
 const Joi = require('joi')
+const { checkErrorResponse } = require('../../lib/error-helper')
+const { toArray } = require('../../lib/badge-data')
+const { svg2base64 } = require('../../lib/svg-helpers')
+const {
+  decodeDataUrlFromQueryParam,
+  prepareNamedLogo,
+} = require('../../lib/logos')
+const { assertValidCategory } = require('../../services/categories')
+const coalesce = require('./coalesce')
 const {
   NotFound,
   InvalidResponse,
@@ -11,19 +20,10 @@ const {
   InvalidParameter,
   Deprecated,
 } = require('./errors')
-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')
-const {
-  decodeDataUrlFromQueryParam,
-  prepareNamedLogo,
-} = require('../lib/logos')
+const { assertValidServiceDefinition } = require('./service-definitions')
 const trace = require('./trace')
 const { validateExample, transformExample } = require('./transform-example')
-const { assertValidCategory } = require('./categories')
-const { assertValidServiceDefinition } = require('./service-definitions')
+const validate = require('./validate')
 
 const defaultBadgeDataSchema = Joi.object({
   label: Joi.string(),
diff --git a/services/base.spec.js b/core/base-service/base.spec.js
similarity index 99%
rename from services/base.spec.js
rename to core/base-service/base.spec.js
index f0b9d2cacd9248ef34c5dc65b0b43283e2b40353..c8df17ade48cb35c1b1df43385f509977cf9f1fd 100644
--- a/services/base.spec.js
+++ b/core/base-service/base.spec.js
@@ -4,7 +4,7 @@ const Joi = require('joi')
 const { expect } = require('chai')
 const { test, given, forCases } = require('sazerac')
 const sinon = require('sinon')
-const { getShieldsIcon } = require('../lib/logos')
+const { getShieldsIcon } = require('../../lib/logos')
 const trace = require('./trace')
 
 const {
@@ -16,7 +16,7 @@ const {
 } = require('./errors')
 const BaseService = require('./base')
 
-require('../lib/register-chai-plugins.spec')
+require('../register-chai-plugins.spec')
 
 class DummyService extends BaseService {
   static render({ namedParamA, queryParamA }) {
diff --git a/services/cache-headers.js b/core/base-service/cache-headers.js
similarity index 98%
rename from services/cache-headers.js
rename to core/base-service/cache-headers.js
index 58ecc7e19285f67a196beb8d98b24c334b301b63..99697464c88ddb640ee533d3c1342f75a442d0bb 100644
--- a/services/cache-headers.js
+++ b/core/base-service/cache-headers.js
@@ -2,7 +2,7 @@
 
 const assert = require('assert')
 const Joi = require('joi')
-const coalesce = require('../core/base-service/coalesce')
+const coalesce = require('./coalesce')
 
 const serverStartTimeGMTString = new Date().toGMTString()
 const serverStartTimestamp = Date.now()
diff --git a/services/cache-headers.spec.js b/core/base-service/cache-headers.spec.js
similarity index 100%
rename from services/cache-headers.spec.js
rename to core/base-service/cache-headers.spec.js
diff --git a/services/deprecated-service.js b/core/base-service/deprecated-service.js
similarity index 100%
rename from services/deprecated-service.js
rename to core/base-service/deprecated-service.js
diff --git a/services/deprecated-service.spec.js b/core/base-service/deprecated-service.spec.js
similarity index 100%
rename from services/deprecated-service.spec.js
rename to core/base-service/deprecated-service.spec.js
diff --git a/services/errors.js b/core/base-service/errors.js
similarity index 100%
rename from services/errors.js
rename to core/base-service/errors.js
diff --git a/core/base-service/index.js b/core/base-service/index.js
index 85fce21a5f63daef4be93995fb894914a8a0cb89..bdedfe9bd94b428263ff9976e9b0464937134828 100644
--- a/core/base-service/index.js
+++ b/core/base-service/index.js
@@ -1,14 +1,14 @@
 'use strict'
 
-const BaseService = require('../../services/base')
-const BaseJsonService = require('../../services/base-json')
-const NonMemoryCachingBaseService = require('../../services/base-non-memory-caching')
-const BaseStaticService = require('../../services/base-static')
-const BaseSvgScrapingService = require('../../services/base-svg-scraping')
-const BaseXmlService = require('../../services/base-xml')
-const BaseYamlService = require('../../services/base-yaml')
+const BaseService = require('./base')
+const BaseJsonService = require('./base-json')
+const NonMemoryCachingBaseService = require('./base-non-memory-caching')
+const BaseStaticService = require('./base-static')
+const BaseSvgScrapingService = require('./base-svg-scraping')
+const BaseXmlService = require('./base-xml')
+const BaseYamlService = require('./base-yaml')
 
-const deprecatedService = require('../../services/deprecated-service')
+const deprecatedService = require('./deprecated-service')
 
 const {
   NotFound,
@@ -16,7 +16,7 @@ const {
   Inaccessible,
   InvalidParameter,
   Deprecated,
-} = require('../../services/errors')
+} = require('./errors')
 
 module.exports = {
   BaseService,
diff --git a/core/base-service/legacy-request-handler.js b/core/base-service/legacy-request-handler.js
index 2ee57c1dacf93e05e7d500933ef40fb821ae2822..9795d77d542a58e0a3d8b5d86c1981d6e8885e91 100644
--- a/core/base-service/legacy-request-handler.js
+++ b/core/base-service/legacy-request-handler.js
@@ -4,17 +4,17 @@
 const domain = require('domain')
 const request = require('request')
 const queryString = require('query-string')
-const log = require('../server/log')
-const analytics = require('../server/analytics')
 const LruCache = require('../../gh-badges/lib/lru-cache')
 const makeBadge = require('../../gh-badges/lib/make-badge')
+const { makeBadgeData: getBadgeData } = require('../../lib/badge-data')
+const analytics = require('../server/analytics')
+const log = require('../server/log')
+const { setCacheHeaders } = require('./cache-headers')
 const {
   Inaccessible,
   InvalidResponse,
   ShieldsRuntimeError,
-} = require('../../services/errors')
-const { setCacheHeaders } = require('../../services/cache-headers')
-const { makeBadgeData: getBadgeData } = require('../../lib/badge-data')
+} = require('./errors')
 const { makeSend } = require('./legacy-result-sender')
 
 // We avoid calling the vendor's server for computation of the information in a
diff --git a/services/service-definitions.js b/core/base-service/service-definitions.js
similarity index 100%
rename from services/service-definitions.js
rename to core/base-service/service-definitions.js
diff --git a/services/trace.js b/core/base-service/trace.js
similarity index 100%
rename from services/trace.js
rename to core/base-service/trace.js
diff --git a/services/transform-example.js b/core/base-service/transform-example.js
similarity index 100%
rename from services/transform-example.js
rename to core/base-service/transform-example.js
diff --git a/services/transform-example.spec.js b/core/base-service/transform-example.spec.js
similarity index 100%
rename from services/transform-example.spec.js
rename to core/base-service/transform-example.spec.js
diff --git a/core/base-service/validate.js b/core/base-service/validate.js
index 97f7c7a03e75dd7d0ef74a5f18dd0965fcbfb98b..4d1cf55b3c10771354ef38a7da32e58dc7d15aca 100644
--- a/core/base-service/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('./trace')
 
 function validate(
   {
diff --git a/core/base-service/validate.spec.js b/core/base-service/validate.spec.js
index 152a6423dff0f1ff6c5840065949f64eec03e7fe..7340aa2bc828f7a2e718b64ca08cf45d3f0a838b 100644
--- a/core/base-service/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('./trace')
+const { InvalidParameter } = require('./errors')
 const validate = require('./validate')
 
 describe('validate', function() {
diff --git a/lib/register-chai-plugins.spec.js b/core/register-chai-plugins.spec.js
similarity index 100%
rename from lib/register-chai-plugins.spec.js
rename to core/register-chai-plugins.spec.js
diff --git a/services/create-service-tester.js b/core/service-test-runner/create-service-tester.js
similarity index 93%
rename from services/create-service-tester.js
rename to core/service-test-runner/create-service-tester.js
index a67029c04ffa21be7e7c1200b204df7f23313c5d..54a0836b6c03d6a922d50c7dcf2fe36acd7025f4 100644
--- a/services/create-service-tester.js
+++ b/core/service-test-runner/create-service-tester.js
@@ -1,8 +1,8 @@
 'use strict'
 
 const caller = require('caller')
+const BaseService = require('../base-service/base')
 const ServiceTester = require('./service-tester')
-const BaseService = require('./base')
 
 // Automatically create a ServiceTester.
 //
diff --git a/services/icedfrisby-no-nock.js b/core/service-test-runner/icedfrisby-no-nock.js
similarity index 100%
rename from services/icedfrisby-no-nock.js
rename to core/service-test-runner/icedfrisby-no-nock.js
diff --git a/services/service-tester.js b/core/service-test-runner/service-tester.js
similarity index 98%
rename from services/service-tester.js
rename to core/service-test-runner/service-tester.js
index d04e4a7bc930e61e390e8c056a9b5cc7e02c074d..e9fc897a0e4f4a0392132d4357c3a5e7623b4946 100644
--- a/services/service-tester.js
+++ b/core/service-test-runner/service-tester.js
@@ -4,7 +4,7 @@ const emojic = require('emojic')
 const frisby = require('./icedfrisby-no-nock')(
   require('icedfrisby-nock')(require('icedfrisby'))
 )
-const trace = require('./trace')
+const trace = require('../base-service/trace')
 
 /**
  * Encapsulate a suite of tests. Create new tests using create() and register
diff --git a/doc/deprecating-badges.md b/doc/deprecating-badges.md
index d11f0c0ec41bf6132b01a7e0078d005c68292d28..238e7f575a3e1537413bfb5e3f9a76a2e27c93d3 100644
--- a/doc/deprecating-badges.md
+++ b/doc/deprecating-badges.md
@@ -18,12 +18,12 @@ Add a key for the service with the corresponding date for deprecation, for examp
 
 Locate the source file(s) for the service, which can be found in `*.service.js` files located within the directory for the service (`./services/:service-name/`) such as `./services/imagelayers/imagelayers.service.js`.
 
-Replace the existing service class implementation with the `DeprecatedService` class from `./services/deprecated-service.js` using the respective `category`, `url`, and `label` values for that service. For example:
+Replace the existing service class implementation with the `DeprecatedService` class from `./core/base-service/deprecated-service.js` using the respective `category`, `url`, and `label` values for that service. For example:
 
 ```js
 'use strict'
 
-const deprecatedService = require('../deprecated-service')
+const { deprecatedService } = require('..')
 
 // image layers integration - deprecated as of November 2018.
 module.exports = deprecatedService({
diff --git a/lib/deprecation-helpers.js b/lib/deprecation-helpers.js
index 89bd141a6432b84e6bd42c7f15f9a8e960967b1f..36f13affd2b41404fae56b8e1ded8e523e7f2d5c 100644
--- a/lib/deprecation-helpers.js
+++ b/lib/deprecation-helpers.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const { Deprecated } = require('../services/errors')
+const { Deprecated } = require('../core/base-service/errors')
 
 function enforceDeprecation(effectiveDate) {
   if (Date.now() >= effectiveDate.getTime()) {
diff --git a/lib/deprecation-helpers.spec.js b/lib/deprecation-helpers.spec.js
index 0a58a2a05d29bb26e5e9b420d35bd926f100b45c..26bc307f9d7f5ccacd8469da0a6221a2a35c6702 100644
--- a/lib/deprecation-helpers.spec.js
+++ b/lib/deprecation-helpers.spec.js
@@ -1,7 +1,7 @@
 'use strict'
 
 const { expect } = require('chai')
-const { Deprecated } = require('../services/errors')
+const { Deprecated } = require('../core/base-service/errors')
 const { enforceDeprecation } = require('./deprecation-helpers')
 
 describe('enforceDeprecation', function() {
diff --git a/lib/error-helper.js b/lib/error-helper.js
index 49ff12e12121a8734ce565cd0e8b585995c9fbd7..c19a711a66689e78e753cf2615cb33923f4ccf37 100644
--- a/lib/error-helper.js
+++ b/lib/error-helper.js
@@ -4,7 +4,7 @@ const {
   NotFound,
   InvalidResponse,
   Inaccessible,
-} = require('../services/errors')
+} = require('../core/base-service/errors')
 const defaultErrorMessages = {
   404: 'not found',
 }
diff --git a/lib/error-helper.spec.js b/lib/error-helper.spec.js
index d9b91c4d8c0b6819e38e190b856d0b4984e8aa26..d774db9972e978e5aa80cd38901d802a89df23af 100644
--- a/lib/error-helper.spec.js
+++ b/lib/error-helper.spec.js
@@ -1,12 +1,12 @@
 'use strict'
 
 const { expect } = require('chai')
-const { checkErrorResponse } = require('./error-helper')
 const {
   NotFound,
   InvalidResponse,
   Inaccessible,
-} = require('../services/errors')
+} = require('../core/base-service/errors')
+const { checkErrorResponse } = require('./error-helper')
 
 describe('Standard Error Handler', function() {
   it('makes inaccessible badge', function() {
diff --git a/lib/regular-update.js b/lib/regular-update.js
index ce7916d98d44724addd56a36c0f744e7830ced3d..3957b5411ebb65763992511228bd308bb5f5edb4 100644
--- a/lib/regular-update.js
+++ b/lib/regular-update.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const { Inaccessible, InvalidResponse } = require('../services/errors')
+const { Inaccessible, InvalidResponse } = require('../core/base-service/errors')
 
 // Map from URL to { timestamp: last fetch time, data: data }.
 let regularUpdateCache = Object.create(null)
diff --git a/services/azure-devops/azure-devops-build.service.js b/services/azure-devops/azure-devops-build.service.js
index ad61500d00794a72d66d17b3d32ff9e8c0a1c409..52d907078138f4263dc7b313ed332bfd0b837791 100644
--- a/services/azure-devops/azure-devops-build.service.js
+++ b/services/azure-devops/azure-devops-build.service.js
@@ -1,9 +1,8 @@
 'use strict'
 
-const BaseSvgService = require('../base-svg-scraping')
-const { NotFound } = require('..')
-const { keywords, fetch } = require('./azure-devops-helpers')
 const { renderBuildStatusBadge } = require('../../lib/build-status')
+const { BaseSvgScrapingService, NotFound } = require('..')
+const { keywords, fetch } = require('./azure-devops-helpers')
 
 const documentation = `
 <p>
@@ -28,7 +27,7 @@ const documentation = `
   alt="PROJECT_ID is in the id property of the API response." />
 `
 
-module.exports = class AzureDevOpsBuild extends BaseSvgService {
+module.exports = class AzureDevOpsBuild extends BaseSvgScrapingService {
   static get category() {
     return 'build'
   }
diff --git a/services/azure-devops/azure-devops-release.service.js b/services/azure-devops/azure-devops-release.service.js
index 94ff6ab7c1c908bbe359dfc27f5dd35dc09b70ab..331d59f7caaa492d25ca938a95f68916ae5c1133 100644
--- a/services/azure-devops/azure-devops-release.service.js
+++ b/services/azure-devops/azure-devops-release.service.js
@@ -1,8 +1,8 @@
 'use strict'
 
-const BaseSvgService = require('../base-svg-scraping')
-const { keywords, fetch } = require('./azure-devops-helpers')
 const { renderBuildStatusBadge } = require('../../lib/build-status')
+const { BaseSvgScrapingService } = require('..')
+const { keywords, fetch } = require('./azure-devops-helpers')
 
 const documentation = `
 <p>
@@ -22,7 +22,7 @@ const documentation = `
 </p>
 `
 
-module.exports = class AzureDevOpsRelease extends BaseSvgService {
+module.exports = class AzureDevOpsRelease extends BaseSvgScrapingService {
   static get category() {
     return 'build'
   }
diff --git a/services/dynamic-common.js b/services/dynamic-common.js
index 1eb0345ec5e8539dfbe60f77750ff5f2f916de76..02dd5f8e442afcbb85b7c7e2edd3d5b1c314bcd7 100644
--- a/services/dynamic-common.js
+++ b/services/dynamic-common.js
@@ -3,7 +3,7 @@
 const Joi = require('joi')
 const validate = require('../core/base-service/validate')
 const { toArray } = require('../lib/badge-data')
-const { InvalidResponse } = require('./errors')
+const { InvalidResponse } = require('.')
 
 const individualValueSchema = Joi.alternatives()
   .try(Joi.string(), Joi.number())
diff --git a/services/endpoint/endpoint.service.js b/services/endpoint/endpoint.service.js
index ed9fa31ce8e77481827da0fbd15218e4e8776888..54ac158bfcbec293f9558d613e13ae7d93889c8a 100644
--- a/services/endpoint/endpoint.service.js
+++ b/services/endpoint/endpoint.service.js
@@ -3,8 +3,7 @@
 const { URL } = require('url')
 const Joi = require('joi')
 const { errorMessages } = require('../dynamic/dynamic-helpers')
-const BaseJsonService = require('../base-json')
-const { InvalidParameter } = require('../errors')
+const { BaseJsonService, InvalidParameter } = require('..')
 const { optionalUrl } = require('../validators')
 
 const blockedDomains = ['github.com', 'shields.io']
diff --git a/services/endpoint/endpoint.tester.js b/services/endpoint/endpoint.tester.js
index 92a05e0e77d4e2f41cf080305b28b9733c91dcc0..2df245777a03aa33062dd28f935718bdac4ffc4f 100644
--- a/services/endpoint/endpoint.tester.js
+++ b/services/endpoint/endpoint.tester.js
@@ -3,7 +3,7 @@
 const { expect } = require('chai')
 const { getShieldsIcon } = require('../../lib/logos')
 
-const t = (module.exports = require('../create-service-tester')())
+const t = (module.exports = require('..').createServiceTester())
 
 t.create('Valid schema (mocked)')
   .get('.json?url=https://example.com/badge')
diff --git a/services/gitter/gitter.service.js b/services/gitter/gitter.service.js
index 308ee90d4f5695e9587b92704d725b0497e0872c..9a54a2a4d9989c8715eff6ee5facc08e829495e3 100644
--- a/services/gitter/gitter.service.js
+++ b/services/gitter/gitter.service.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const BaseStaticService = require('../base-static')
+const { BaseStaticService } = require('..')
 
 module.exports = class Gitter extends BaseStaticService {
   static get category() {
diff --git a/services/index.js b/services/index.js
index 5081f0a5ed650dd66d503e38ce9a0ce563c798fb..7e9bd6ba55aa4e5aead2bad131d68967f605e2d6 100644
--- a/services/index.js
+++ b/services/index.js
@@ -2,10 +2,12 @@
 
 const glob = require('glob')
 const base = require('../core/base-service')
-const createServiceTester = require('./create-service-tester')
-const ServiceTester = require('./service-tester')
+const createServiceTester = require('../core/service-test-runner/create-service-tester')
+const ServiceTester = require('../core/service-test-runner/service-tester')
+const {
+  assertValidServiceDefinitionExport,
+} = require('../core/base-service/service-definitions')
 const { categories } = require('./categories')
-const { assertValidServiceDefinitionExport } = require('./service-definitions')
 
 const { BaseService } = base
 
diff --git a/services/legacy-service.js b/services/legacy-service.js
index d2f8bb585bdd31f811a0198d7b8eacfc237a8b62..b57969722a2c768e81ff69fa1167f4caf3769108 100644
--- a/services/legacy-service.js
+++ b/services/legacy-service.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const BaseService = require('./base')
+const { BaseService } = require('.')
 
 // This adapter allows running legacy badges in the new file layout and
 // service architecture.
diff --git a/services/package-json-helpers.js b/services/package-json-helpers.js
index 9ad97dc03cee3e1cc26e8fec2869fdee56e3f6cc..79f41e903c24712a0d8b508eb609a892cef2ec65 100644
--- a/services/package-json-helpers.js
+++ b/services/package-json-helpers.js
@@ -1,7 +1,7 @@
 'use strict'
 
 const Joi = require('joi')
-const { InvalidParameter } = require('./errors')
+const { InvalidParameter } = require('.')
 
 const isDependencyMap = Joi.object()
   .pattern(
diff --git a/services/packagecontrol/packagecontrol.service.js b/services/packagecontrol/packagecontrol.service.js
index 09d6c83e6591f8d19a91da79a9bb46715a393dca..335c7e5b86c643a667f6559910f0dd956f39913f 100644
--- a/services/packagecontrol/packagecontrol.service.js
+++ b/services/packagecontrol/packagecontrol.service.js
@@ -1,9 +1,9 @@
 'use strict'
 
 const Joi = require('joi')
-const BaseJsonService = require('../base-json')
 const { metric } = require('../../lib/text-formatters')
 const { downloadCount } = require('../../lib/color-formatters')
+const { BaseJsonService } = require('..')
 const { nonNegativeInteger } = require('../validators')
 
 const keywords = ['sublime', 'sublimetext', 'packagecontrol']
diff --git a/services/static-badge/static-badge.service.js b/services/static-badge/static-badge.service.js
index e7d5e2092f70cbf0e3ca33092f5901532e89f9cd..7d4070b393fa8d81da2ce7d2d9e4db6f1e116be1 100644
--- a/services/static-badge/static-badge.service.js
+++ b/services/static-badge/static-badge.service.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const BaseStaticService = require('../base-static')
+const { BaseStaticService } = require('..')
 const { escapeFormat } = require('../../core/badge-urls/path-helpers')
 
 module.exports = class StaticBadge extends BaseStaticService {
diff --git a/test-fixtures/invalid-mixed.fixture.js b/test-fixtures/invalid-mixed.fixture.js
index 673614149d495dd8fcbf6568076fbe163a1e5750..b0922abaef8bd6cf028ccbc1f779ee2a2528b5e6 100644
--- a/test-fixtures/invalid-mixed.fixture.js
+++ b/test-fixtures/invalid-mixed.fixture.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const BaseJsonService = require('../services/base-json')
+const BaseJsonService = require('../core/base-service/base-json')
 
 class BadBaseService {}
 class GoodService extends BaseJsonService {}
diff --git a/test-fixtures/valid-array.fixture.js b/test-fixtures/valid-array.fixture.js
index 6c3176b46524e52202929575a0a0bb9f7c9673a4..42bc59e011de8147cee4ef3f7a1eaea3f5977377 100644
--- a/test-fixtures/valid-array.fixture.js
+++ b/test-fixtures/valid-array.fixture.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const BaseJsonService = require('../services/base-json')
+const BaseJsonService = require('../core/base-service/base-json')
 const LegacyService = require('../services/legacy-service')
 
 class GoodServiceOne extends BaseJsonService {
diff --git a/test-fixtures/valid-class.fixture.js b/test-fixtures/valid-class.fixture.js
index 9169c0ee0d8b93026696201e67566b2a853254b0..9f4bf0fd46e1dded5a5cbcff995c375b0956d6a3 100644
--- a/test-fixtures/valid-class.fixture.js
+++ b/test-fixtures/valid-class.fixture.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const BaseJsonService = require('../services/base-json')
+const BaseJsonService = require('../core/base-service/base-json')
 
 class GoodService extends BaseJsonService {
   static get category() {
diff --git a/test-fixtures/valid-object.fixture.js b/test-fixtures/valid-object.fixture.js
index 3523477cd8fdbb917be70cab6df0ea1515c6347f..7c5353d3c45efd62ac8c700d7dd8c7d18682bab9 100644
--- a/test-fixtures/valid-object.fixture.js
+++ b/test-fixtures/valid-object.fixture.js
@@ -1,6 +1,6 @@
 'use strict'
 
-const BaseJsonService = require('../services/base-json')
+const BaseJsonService = require('../core/base-service/base-json')
 const LegacyService = require('../services/legacy-service')
 
 class GoodServiceOne extends BaseJsonService {