diff --git a/.circleci/config.yml b/.circleci/config.yml
index 67a3b66b7f759be472dd6c13b93712d2aeef0388..a2f6ef9d1948e62fbed4e6f2c0ef802170b75046 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -21,6 +21,7 @@ jobs:
       #    CCACHE_COMPRESS: true
       #    WFLAGS: -Wno-unsuffixed-float-constants
       #    GCC48: true
+    resource_class: large
     steps:
       - run:
           name: Add i386 arch
@@ -32,6 +33,12 @@ jobs:
             apt-get -qq -y install dirmngr
             apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6
             echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" >> /etc/apt/sources.list
+      - run:
+          name: Make APT cache folder
+          command: mkdir -p /root/.cache/apt/archives/partial
+      - run:
+          name: Make APT cache usage by _apt
+          command: chown -Rv _apt:root /root/.cache/apt/archives/partial
       - run:
           name: Update APT listing
           command: apt-get -qq update
@@ -43,32 +50,37 @@ jobs:
             - v1-SRB2-APT
       - run:
           name: Install SDK
-          command: apt-get -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client
-
+          command: apt-get -o Dir::Cache="/root/.cache/apt" -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client
+      - run:
+          name: make md5sum 
+          command: find /root/.cache/apt/archives -type f -print0 | sort -z | xargs -r0 md5sum > /root/.cache/apt_archives.md5
       - save_cache:
-          key: v1-SRB2-APT
+          key: v1-SRB2-APT-{{ checksum "/root/.cache/apt_archives.md5" }}
           paths:
-            - /var/cache/apt/archives
+            - /root/.cache/apt
       - checkout
       - run:
           name: Compile without network support
-          command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1
+          command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 -j4
       - run:
           name: wipe build
           command: make -C src LINUX=1 cleandep
       - run:
           name: rebuild depend
           command: make -C src LINUX=1 clean
+      - run:
+          name: make master depend file
+          command: find make/linux/SDL/deps/ -type f -print0 | sort -z | xargs -r0 cat > make/linux/SDL.deps
       - restore_cache:
           keys:
-            - v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
+            - v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
       - run:
           name: Compile
-          command: make -C src LINUX=1 ERRORMODE=1 -k
+          command: make -C src LINUX=1 ERRORMODE=1 -k -j4
       - store_artifacts:
-          path: /root/SRB2/bin/Linux/Release/
+          path: /root/SRB2/bin/
           destination: bin
       - save_cache:
-          key: v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
+          key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
           paths:
             - /root/.ccache