diff --git a/build.bash b/build.bash
index cae4d42..87756b4 100755
--- a/build.bash
+++ b/build.bash
@@ -6,20 +6,31 @@ info() {
     printf "\x1b[1m\x1b[32m==>\x1b[0m\x1b[1m $1\x1b[0m\n"
 }
 
+update() {
+    info "updating"
+    git submodule update --init
+}
+
+mariebuild() {
+    info "building mariebuild"
+    cd mariebuild
+    ./setup.bash
+    ./build.bash
+    ./mb -t release -n
+    cp ./build/release/mb ../bin/
+    cd ..
+}
+
+fpc-sitegen() {
+    info "building fpc-sitegen"
+    cd fpc-sitegen
+    ../bin/mb -t release -n
+    cp build/release/fpc-sitegen ../bin/
+    cd ..
+}
+
 mkdir -p bin
 
-info "updating"
-git submodule update --init
-
-info "building mariebuild"
-cd mariebuild
-./setup.bash
-./build.bash
-./mb -t release -n
-cp ./mb ../bin/
-cd ..
-
-info "building fpc-sitegen"
-cd fpc-sitegen
-../bin/mb -t release -n
-cp build/release/fpc-sitegen ../bin/
+update
+mariebuild
+fpc-sitegen