diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..d9265cf50ba4c38ba7a1cbaf8c30651d4511f78b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+[Bb]uild/
+.class
\ No newline at end of file
diff --git a/build.cmd b/build.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..e5cf84491967bfb6263dbf5e9e73cc3245df0948
--- /dev/null
+++ b/build.cmd
@@ -0,0 +1,9 @@
+@ECHO OFF
+
+PUSHD %~dp0
+
+MKDIR build > NUL
+
+javac -d build/ src/*.java
+
+POPD
\ No newline at end of file
diff --git a/build.sh b/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..0854f9f0dc18d2af133141a728f0ecd068f14737
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+mkdir build > /dev/null
+
+javac -d build/ src/*.java
\ No newline at end of file
diff --git a/run.cmd b/run.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..00509c6520bcab54d6021dd4fc3c5a3ed3956b86
--- /dev/null
+++ b/run.cmd
@@ -0,0 +1,20 @@
+@ECHO OFF
+SETLOCAL enabledelayedexpansion enableextensions
+
+PUSHD %~dp0
+
+SET LIBS=
+FOR %%F IN (%CD%\lib\*.jar) DO SET LIBS=!LIBS!;%%F
+SET LIBS=%LIBS:~1%
+
+SET CLASSES=
+FOR %%F IN (%CD%\build\*.class) DO SET CLASSES=!CLASSES!;%%F
+SET CLASSES=%CLASSES:~1%
+
+SET CLASSPATH=%CD%\build;%CD%\lib;%LIBS%;%CLASSES%
+
+java "%1"
+
+POPD
+
+ENDLOCAL
\ No newline at end of file
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e58dd25660bf0ff9ff9b765ff3723661932d3b0b
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+LIBS=$(ls -R lib/*.jar | tr "\n" ":").
+
+java -cp "${LIBS}":./build "$1"
\ No newline at end of file