diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f04e537..46fc870 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,34 +5,24 @@
   pull_request:
 jobs:
   test:
-    name: test
+    name: test ${{matrix.otp}} on ${{matrix.os}}
     runs-on: ${{matrix.os}}
+    container:
+      image: erlang:${{matrix.otp}}
     strategy:
       fail-fast: false
       matrix:
         os:
           - ubuntu-latest
         otp:
-          - "24.3.3"
-          - "23.3.4.5"
-          - "22.3.4.9"
-          - "21.3.8.17"
+          - "24.3.4.0"
+          - "23.3.4.14"
+          - "22.3.4.26"
+          - "21.3.8.24"
           - "20.3.8.26"
-        include:
-          - os: ubuntu-18.04
-            otp: "19.3.6.13"
-          - os: ubuntu-18.04
-            otp: "18.3.4.11"
+          - "19.3.6.13"
+          - "18.3.4.11"
     steps:
       - uses: actions/checkout@v2.3.2
-      - run: |
-          VERSION=${{matrix.otp}}
-          RELEASE=$(lsb_release -cs)
-          DIR=$(mktemp -d)
-          pushd $DIR
-          FILE=esl-erlang_$VERSION-1~ubuntu~$RELEASE\_amd64.deb
-          wget https://packages.erlang-solutions.com/erlang/debian/pool/$FILE
-          sudo dpkg -i $FILE
-          popd
-          rm -r $DIR
       - run: make test
+      - run: REBAR=rebar make test
diff --git a/.gitignore b/.gitignore
index b9606c1..292935b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,5 @@
 *.beam
 *.dump
 rebar.lock
+/_build
+/rebar3.crashdump
diff --git a/CHANGES.md b/CHANGES.md
index 3216a7e..16d14f7 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,5 +1,8 @@
-Version 3.0.0 released 2022-XX-XX
+Version 3.0.0 released 2022-05-09
 
+* rebar3 is now the preferred build tool (finally)
+  https://github.com/mochi/mochiweb/pull/241
+  https://github.com/mochi/mochiweb/pull/243
 * Minimum OTP version is now 18, which
   allows us to remove a number of backwards
   compatibility hacks while still supporting
@@ -14,6 +17,7 @@
   that expression might have to be updated to
   handle the `{shutdown, Error}` error reason.
   https://github.com/mochi/mochiweb/pull/238
+  https://github.com/mochi/mochiweb/pull/242
 
 Version 2.22.0 released 2021-08-23
 
diff --git a/Makefile b/Makefile
index 983c304..a537d61 100644
--- a/Makefile
+++ b/Makefile
@@ -1,24 +1,18 @@
-PREFIX:=../
-DEST:=$(PREFIX)$(PROJECT)
+REBAR?=rebar3
 
-REBAR=./rebar
+.PHONY: all edoc test clean build
 
-.PHONY: all edoc test clean build_plt dialyzer app
+all: build
 
-all:
-	@$(REBAR) prepare-deps
+build:
+	@$(REBAR) get-deps # rebar2 compatibility, it's no-op on rebar3
+	@$(REBAR) compile
 
-edoc: all
-	@$(REBAR) doc
-
-test:
-	@rm -rf .eunit
-	@mkdir -p .eunit
+test: build
 	@$(REBAR) eunit
 
+edoc: build
+	@$(REBAR) edoc
+
 clean:
 	@$(REBAR) clean
-
-app:
-	@[ -z "$(PROJECT)" ] && echo "ERROR: required variable PROJECT missing" 1>&2 && exit 1 || true
-	@$(REBAR) -r create template=mochiwebapp dest=$(DEST) appid=$(PROJECT)
diff --git a/README.md b/README.md
index 78a4d81..f827f88 100644
--- a/README.md
+++ b/README.md
@@ -6,13 +6,9 @@
 
 Erlang OTP is required for setting up the MochiWeb environment and is available at https://www.erlang.org/
 
-To create a new mochiweb using project:
-   make app PROJECT=project_name
+To create a new mochiweb using project see the `example_project` in the `examples/` folder.
 
-To create a new mochiweb using project in a specific directory:
-   make app PROJECT=project_name PREFIX=$HOME/projects/
-
-Information about Rebar (Erlang build tool) is available at https://github.com/rebar/rebar
+Information about Rebar (Erlang build tool) is available at https://github.com/erlang/rebar3
 
 MochiWeb is currently tested with Erlang/OTP 18.3 through 24.0,
 versions older than 3.0.0 may still be compatible back to R15B-03.
diff --git a/examples/example_project/.gitignore b/examples/example_project/.gitignore
new file mode 100644
index 0000000..b01cd06
--- /dev/null
+++ b/examples/example_project/.gitignore
@@ -0,0 +1,14 @@
+/ebin
+/doc
+/_test
+/.eunit
+/docs
+.DS_Store
+/TEST-*.xml
+/deps
+/.rebar
+*.swp
+*.beam
+*.dump
+_build/
+rebar.lock
diff --git a/examples/example_project/Makefile b/examples/example_project/Makefile
new file mode 100644
index 0000000..2b42efc
--- /dev/null
+++ b/examples/example_project/Makefile
@@ -0,0 +1,16 @@
+REBAR?=rebar3
+
+.PHONY: all edoc test clean app
+
+build:
+	@$(REBAR) get-deps # rebar2 compatibility, it's no-op on rebar3
+	@$(REBAR) compile
+
+test:
+	@$(REBAR) eunit
+
+edoc:
+	@$(REBAR) edoc
+
+clean:
+	@$(REBAR) clean
diff --git a/support/templates/mochiwebapp_skel/bench.sh b/examples/example_project/bench.sh
similarity index 92%
rename from support/templates/mochiwebapp_skel/bench.sh
rename to examples/example_project/bench.sh
index eb6e9c9..e24e327 100755
--- a/support/templates/mochiwebapp_skel/bench.sh
+++ b/examples/example_project/bench.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # workaround for rebar mustache template bug
-DEFAULT_PORT={{port}}
+DEFAULT_PORT=8080
 HOST=${HOST:-127.0.0.1}
 PORT=${PORT:-${DEFAULT_PORT}}
 
diff --git a/support/templates/mochiwebapp_skel/priv/www/index.html b/examples/example_project/priv/www/index.html
similarity index 73%
rename from support/templates/mochiwebapp_skel/priv/www/index.html
rename to examples/example_project/priv/www/index.html
index 40ac0c8..424ae4f 100644
--- a/support/templates/mochiwebapp_skel/priv/www/index.html
+++ b/examples/example_project/priv/www/index.html
@@ -3,6 +3,6 @@
 <title>It Worked</title>
 </head>
 <body>
-{{appid}} running.
+example_project running.
 </body>
 </html>
diff --git a/support/templates/mochiwebapp_skel/rebar.config b/examples/example_project/rebar.config
similarity index 68%
rename from support/templates/mochiwebapp_skel/rebar.config
rename to examples/example_project/rebar.config
index da560eb..de98cca 100644
--- a/support/templates/mochiwebapp_skel/rebar.config
+++ b/examples/example_project/rebar.config
@@ -2,6 +2,6 @@
 {erl_opts, [debug_info]}.
 {deps, [
   {mochiweb, ".*",
-   {git, "git://github.com/mochi/mochiweb.git", {branch, "main"}}}]}.
+   {git, "https://github.com/mochi/mochiweb.git", {branch, "main"}}}]}.
 {cover_enabled, true}.
 {eunit_opts, [verbose, {report,{eunit_surefire,[{dir,"."}]}}]}.
diff --git a/examples/example_project/src/example_project.app.src b/examples/example_project/src/example_project.app.src
new file mode 100644
index 0000000..92006cd
--- /dev/null
+++ b/examples/example_project/src/example_project.app.src
@@ -0,0 +1,9 @@
+%% -*- erlang -*-
+{application, example_project,
+ [{description, "example_project"},
+  {vsn, "0.1"},
+  {modules, []},
+  {registered, []},
+  {mod, {'example_project_app', []}},
+  {env, []},
+  {applications, [kernel, stdlib, crypto]}]}.
diff --git a/examples/example_project/src/example_project.erl b/examples/example_project/src/example_project.erl
new file mode 100644
index 0000000..ef995d6
--- /dev/null
+++ b/examples/example_project/src/example_project.erl
@@ -0,0 +1,30 @@
+%% @author Mochi Media <dev@mochimedia.com>
+%% @copyright 2010 Mochi Media <dev@mochimedia.com>
+
+%% @doc example_project.
+
+-module(example_project).
+-author("Mochi Media <dev@mochimedia.com>").
+-export([start/0, stop/0]).
+
+ensure_started(App) ->
+    case application:start(App) of
+        ok ->
+            ok;
+        {error, {already_started, App}} ->
+            ok
+    end.
+
+
+%% @spec start() -> ok
+%% @doc Start the example_project server.
+start() ->
+    example_project_deps:ensure(),
+    ensure_started(crypto),
+    application:start(example_project).
+
+
+%% @spec stop() -> ok
+%% @doc Stop the example_project server.
+stop() ->
+    application:stop(example_project).
diff --git a/examples/example_project/src/example_project_app.erl b/examples/example_project/src/example_project_app.erl
new file mode 100644
index 0000000..09bca5c
--- /dev/null
+++ b/examples/example_project/src/example_project_app.erl
@@ -0,0 +1,22 @@
+%% @author Mochi Media <dev@mochimedia.com>
+%% @copyright example_project Mochi Media <dev@mochimedia.com>
+
+%% @doc Callbacks for the example_project application.
+
+-module(example_project_app).
+-author("Mochi Media <dev@mochimedia.com>").
+
+-behaviour(application).
+-export([start/2,stop/1]).
+
+
+%% @spec start(_Type, _StartArgs) -> ServerRet
+%% @doc application start callback for example_project.
+start(_Type, _StartArgs) ->
+    example_project_deps:ensure(),
+    example_project_sup:start_link().
+
+%% @spec stop(_State) -> ServerRet
+%% @doc application stop callback for example_project.
+stop(_State) ->
+    ok.
diff --git a/support/templates/mochiwebapp_skel/src/mochiapp_deps.erl b/examples/example_project/src/example_project_deps.erl
similarity index 93%
rename from support/templates/mochiwebapp_skel/src/mochiapp_deps.erl
rename to examples/example_project/src/example_project_deps.erl
index ad151bc..804a66b 100644
--- a/support/templates/mochiwebapp_skel/src/mochiapp_deps.erl
+++ b/examples/example_project/src/example_project_deps.erl
@@ -1,12 +1,12 @@
-%% @author {{author}}
-%% @copyright {{year}} {{author}}
+%% @author Mochi Media <dev@mochimedia.com>
+%% @copyright 2010 Mochi Media <dev@mochimedia.com>
 
 %% @doc Ensure that the relatively-installed dependencies are on the code
 %%      loading path, and locate resources relative
 %%      to this application's path.
 
--module({{appid}}_deps).
--author("{{author}}").
+-module(example_project_deps).
+-author("Mochi Media <dev@mochimedia.com>").
 
 -export([ensure/0, ensure/1]).
 -export([get_base_dir/0, get_base_dir/1]).
diff --git a/support/templates/mochiwebapp_skel/src/mochiapp_sup.erl b/examples/example_project/src/example_project_sup.erl
similarity index 77%
rename from support/templates/mochiwebapp_skel/src/mochiapp_sup.erl
rename to examples/example_project/src/example_project_sup.erl
index 39db395..2e799cf 100644
--- a/support/templates/mochiwebapp_skel/src/mochiapp_sup.erl
+++ b/examples/example_project/src/example_project_sup.erl
@@ -1,10 +1,10 @@
-%% @author {{author}}
-%% @copyright {{year}} {{author}}
+%% @author Mochi Media <dev@mochimedia.com>
+%% @copyright 2010 Mochi Media <dev@mochimedia.com>
 
-%% @doc Supervisor for the {{appid}} application.
+%% @doc Supervisor for the example_project application.
 
--module({{appid}}_sup).
--author("{{author}}").
+-module(example_project_sup).
+-author("Mochi Media <dev@mochimedia.com>").
 
 -behaviour(supervisor).
 
@@ -41,7 +41,7 @@
 %% @spec init([]) -> SupervisorTree
 %% @doc supervisor callback.
 init([]) ->
-    Web = web_specs({{appid}}_web, {{port}}),
+    Web = web_specs(example_project_web, 8080),
     Processes = [Web],
     Strategy = {one_for_one, 10, 10},
     {ok,
@@ -50,7 +50,7 @@
 web_specs(Mod, Port) ->
     WebConfig = [{ip, {0,0,0,0}},
                  {port, Port},
-                 {docroot, {{appid}}_deps:local_path(["priv", "www"])}],
+                 {docroot, example_project_deps:local_path(["priv", "www"])}],
     {Mod,
      {Mod, start, [WebConfig]},
      permanent, 5000, worker, dynamic}.
diff --git a/support/templates/mochiwebapp_skel/src/mochiapp_web.erl b/examples/example_project/src/example_project_web.erl
similarity index 89%
rename from support/templates/mochiwebapp_skel/src/mochiapp_web.erl
rename to examples/example_project/src/example_project_web.erl
index 0b586b0..83e6560 100644
--- a/support/templates/mochiwebapp_skel/src/mochiapp_web.erl
+++ b/examples/example_project/src/example_project_web.erl
@@ -1,11 +1,11 @@
-%% @author {{author}}
-%% @copyright {{year}} {{author}}
+%% @author Mochi Media <dev@mochimedia.com>
+%% @copyright 2010 Mochi Media <dev@mochimedia.com>
 
-%% @doc Web server for {{appid}}.
+%% @doc Web server for example_project.
 
--module('{{appid}}_web').
+-module('example_project_web').
 
--author("{{author}}").
+-author("Mochi Media <dev@mochimedia.com>").
 
 -export([loop/2, start/1, stop/0]).
 
diff --git a/examples/example_project/start-dev.sh b/examples/example_project/start-dev.sh
new file mode 100755
index 0000000..44c65c7
--- /dev/null
+++ b/examples/example_project/start-dev.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+exec erl \
+    -pa _build/default/lib/example_project/ebin \
+    -pa _build/default/lib/mochiweb/ebin \
+    -pa ebin deps/*/ebin \
+    -boot start_sasl \
+    -sname example_project_dev \
+    -s example_project \
+    -s reloader
diff --git a/rebar b/rebar
deleted file mode 100755
index c57f7ad..0000000
--- a/rebar
+++ /dev/null
Binary files differ
diff --git a/src/mochiweb_multipart.erl b/src/mochiweb_multipart.erl
index 21b23bb..906b723 100644
--- a/src/mochiweb_multipart.erl
+++ b/src/mochiweb_multipart.erl
@@ -348,9 +348,13 @@
 -include_lib("eunit/include/eunit.hrl").
 
 ssl_cert_opts() ->
-    EbinDir = filename:dirname(code:which(?MODULE)),
-    CertDir = filename:join([EbinDir, "..", "support",
-			     "test-materials"]),
+    {ok, Cwd} = file:get_cwd(),
+    CertDir = filename:join(
+        case filename:basename(Cwd) of
+            %% rebar2 compatibility
+            ".eunit" -> [".."];
+            _ -> []
+        end ++ ["support", "test-materials"]),
     CertFile = filename:join(CertDir, "test_ssl_cert.pem"),
     KeyFile = filename:join(CertDir, "test_ssl_key.pem"),
     [{certfile, CertFile}, {keyfile, KeyFile}].
diff --git a/support/templates/.gitignore b/support/templates/.gitignore
deleted file mode 100644
index 05ee58a..0000000
--- a/support/templates/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/ebin
-/edit
-/deps
-/erl_crash.dump
-/.eunit
diff --git a/support/templates/mochiwebapp.template b/support/templates/mochiwebapp.template
deleted file mode 100644
index c56314c..0000000
--- a/support/templates/mochiwebapp.template
+++ /dev/null
@@ -1,24 +0,0 @@
-%% -*- erlang -*-
-{variables, [{appid, "mochiwebapp"},
-             {author, "Mochi Media <dev@mochimedia.com>"},
-             {year, "2010"},
-             {version, "0.1"},
-             {port, 8080},
-             {dest, "{{appid}}"}]}.
-{dir, "{{dest}}"}.
-{template, "mochiwebapp_skel/src/mochiapp.app.src", "{{dest}}/src/{{appid}}.app.src"}.
-{template, "mochiwebapp_skel/src/mochiapp.erl", "{{dest}}/src/{{appid}}.erl"}.
-{template, "mochiwebapp_skel/src/mochiapp_app.erl", "{{dest}}/src/{{appid}}_app.erl"}.
-{template, "mochiwebapp_skel/src/mochiapp_deps.erl", "{{dest}}/src/{{appid}}_deps.erl"}.
-{template, "mochiwebapp_skel/src/mochiapp_sup.erl", "{{dest}}/src/{{appid}}_sup.erl"}.
-{template, "mochiwebapp_skel/src/mochiapp_web.erl", "{{dest}}/src/{{appid}}_web.erl"}.
-{template, "mochiwebapp_skel/start-dev.sh", "{{dest}}/start-dev.sh"}.
-{template, "mochiwebapp_skel/bench.sh", "{{dest}}/bench.sh"}.
-{template, "mochiwebapp_skel/priv/www/index.html", "{{dest}}/priv/www/index.html"}.
-{file, "../../.gitignore", "{{dest}}/.gitignore"}.
-{file, "../../Makefile", "{{dest}}/Makefile"}.
-{file, "mochiwebapp_skel/rebar.config", "{{dest}}/rebar.config"}.
-{file, "../../rebar", "{{dest}}/rebar"}.
-{chmod, 8#755, "{{dest}}/rebar"}.
-{chmod, 8#755, "{{dest}}/start-dev.sh"}.
-{chmod, 8#755, "{{dest}}/bench.sh"}.
diff --git a/support/templates/mochiwebapp_skel/src/mochiapp.app.src b/support/templates/mochiwebapp_skel/src/mochiapp.app.src
deleted file mode 100644
index c0bb11f..0000000
--- a/support/templates/mochiwebapp_skel/src/mochiapp.app.src
+++ /dev/null
@@ -1,9 +0,0 @@
-%% -*- erlang -*-
-{application, {{appid}},
- [{description, "{{appid}}"},
-  {vsn, "{{version}}"},
-  {modules, []},
-  {registered, []},
-  {mod, {'{{appid}}_app', []}},
-  {env, []},
-  {applications, [kernel, stdlib, crypto]}]}.
diff --git a/support/templates/mochiwebapp_skel/src/mochiapp.erl b/support/templates/mochiwebapp_skel/src/mochiapp.erl
deleted file mode 100644
index 9770f2c..0000000
--- a/support/templates/mochiwebapp_skel/src/mochiapp.erl
+++ /dev/null
@@ -1,30 +0,0 @@
-%% @author {{author}}
-%% @copyright {{year}} {{author}}
-
-%% @doc {{appid}}.
-
--module({{appid}}).
--author("{{author}}").
--export([start/0, stop/0]).
-
-ensure_started(App) ->
-    case application:start(App) of
-        ok ->
-            ok;
-        {error, {already_started, App}} ->
-            ok
-    end.
-
-
-%% @spec start() -> ok
-%% @doc Start the {{appid}} server.
-start() ->
-    {{appid}}_deps:ensure(),
-    ensure_started(crypto),
-    application:start({{appid}}).
-
-
-%% @spec stop() -> ok
-%% @doc Stop the {{appid}} server.
-stop() ->
-    application:stop({{appid}}).
diff --git a/support/templates/mochiwebapp_skel/src/mochiapp_app.erl b/support/templates/mochiwebapp_skel/src/mochiapp_app.erl
deleted file mode 100644
index 6bbb255..0000000
--- a/support/templates/mochiwebapp_skel/src/mochiapp_app.erl
+++ /dev/null
@@ -1,22 +0,0 @@
-%% @author {{author}}
-%% @copyright {{appid}} {{author}}
-
-%% @doc Callbacks for the {{appid}} application.
-
--module({{appid}}_app).
--author("{{author}}").
-
--behaviour(application).
--export([start/2,stop/1]).
-
-
-%% @spec start(_Type, _StartArgs) -> ServerRet
-%% @doc application start callback for {{appid}}.
-start(_Type, _StartArgs) ->
-    {{appid}}_deps:ensure(),
-    {{appid}}_sup:start_link().
-
-%% @spec stop(_State) -> ServerRet
-%% @doc application stop callback for {{appid}}.
-stop(_State) ->
-    ok.
diff --git a/support/templates/mochiwebapp_skel/start-dev.sh b/support/templates/mochiwebapp_skel/start-dev.sh
deleted file mode 100755
index 65c1692..0000000
--- a/support/templates/mochiwebapp_skel/start-dev.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-exec erl \
-    -pa ebin deps/*/ebin \
-    -boot start_sasl \
-    -sname {{appid}}_dev \
-    -s {{appid}} \
-    -s reloader
diff --git a/test/mochiweb_test_util.erl b/test/mochiweb_test_util.erl
index c56faf7..c343384 100644
--- a/test/mochiweb_test_util.erl
+++ b/test/mochiweb_test_util.erl
@@ -5,8 +5,13 @@
 -include_lib("eunit/include/eunit.hrl").
 
 ssl_cert_opts() ->
-    EbinDir = filename:dirname(code:which(?MODULE)),
-    CertDir = filename:join([EbinDir, "..", "support", "test-materials"]),
+    {ok, Cwd} = file:get_cwd(),
+    CertDir = filename:join(
+        case filename:basename(Cwd) of
+            %% rebar2 compatibility
+            ".eunit" -> [".."];
+            _ -> []
+        end ++ ["support", "test-materials"]),
     CertFile = filename:join(CertDir, "test_ssl_cert.pem"),
     KeyFile = filename:join(CertDir, "test_ssl_key.pem"),
     [{certfile, CertFile}, {keyfile, KeyFile}].
