diff --git a/.codecov.yml b/.codecov.yml
new file mode 100644
index 0000000000000000000000000000000000000000..69cb76019a474330e99666f147ecb85e44de1ce6
--- /dev/null
+++ b/.codecov.yml
@@ -0,0 +1 @@
+comment: false
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..8c960ec808d9e3c5c43b69fa6ad59c538035a1a9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.jl.cov
+*.jl.*.cov
+*.jl.mem
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2971df5d7d468e09b77b3475d143cd8adf3ba7f0
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,35 @@
+## Documentation: http://docs.travis-ci.com/user/languages/julia/
+language: julia
+os:
+  - linux
+  - osx
+julia:
+  - 0.6
+  - nightly
+notifications:
+  email: false
+git:
+  depth: 99999999
+
+## uncomment the following lines to allow failures on nightly julia
+## (tests will run but not make your overall status red)
+#matrix:
+#  allow_failures:
+#  - julia: nightly
+
+## uncomment and modify the following lines to manually install system packages
+#addons:
+#  apt: # apt-get for linux
+#    packages:
+#    - gfortran
+#before_script: # homebrew for mac
+#  - if [ $TRAVIS_OS_NAME = osx ]; then brew install gcc; fi
+
+## uncomment the following lines to override the default test script
+#script:
+#  - julia -e 'Pkg.clone(pwd()); Pkg.build("LabProcesses"); Pkg.test("LabProcesses"; coverage=true)'
+after_success:
+  # push coverage results to Coveralls
+  - julia -e 'cd(Pkg.dir("LabProcesses")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())'
+  # push coverage results to Codecov
+  - julia -e 'cd(Pkg.dir("LabProcesses")); Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())'
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000000000000000000000000000000000000..27dde2a7a56a7e76959214568101e1e3615c1419
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,22 @@
+The LabProcesses.jl package is licensed under the MIT "Expat" License:
+
+> Copyright (c) 2017: Fredrik Bagge Carlson.
+> 
+> Permission is hereby granted, free of charge, to any person obtaining a copy
+> of this software and associated documentation files (the "Software"), to deal
+> in the Software without restriction, including without limitation the rights
+> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+> copies of the Software, and to permit persons to whom the Software is
+> furnished to do so, subject to the following conditions:
+> 
+> The above copyright notice and this permission notice shall be included in all
+> copies or substantial portions of the Software.
+> 
+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+> SOFTWARE.
+> 
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..58ac930da09767067b07ea7ae3bcb062e889e033
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+# LabProcesses
+
+[![Build Status](https://travis-ci.org/baggepinnen/LabProcesses.jl.svg?branch=master)](https://travis-ci.org/baggepinnen/LabProcesses.jl)
+
+[![Coverage Status](https://coveralls.io/repos/baggepinnen/LabProcesses.jl/badge.svg?branch=master&service=github)](https://coveralls.io/github/baggepinnen/LabProcesses.jl?branch=master)
+
+[![codecov.io](http://codecov.io/github/baggepinnen/LabProcesses.jl/coverage.svg?branch=master)](http://codecov.io/github/baggepinnen/LabProcesses.jl?branch=master)
diff --git a/REQUIRE b/REQUIRE
new file mode 100644
index 0000000000000000000000000000000000000000..137767a42af4a6bc4e8d823feb3bedec27ee23b2
--- /dev/null
+++ b/REQUIRE
@@ -0,0 +1 @@
+julia 0.6
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c50d9da7b211f66b3c01afe05e98f63395526a57
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,47 @@
+environment:
+  matrix:
+  - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6-latest-win32.exe"
+  - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe"
+  - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
+  - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
+
+## uncomment the following lines to allow failures on nightly julia
+## (tests will run but not make your overall status red)
+#matrix:
+#  allow_failures:
+#  - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
+#  - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
+
+branches:
+  only:
+    - master
+    - /release-.*/
+
+notifications:
+  - provider: Email
+    on_build_success: false
+    on_build_failure: false
+    on_build_status_changed: false
+
+install:
+  - ps: "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12"
+# If there's a newer build queued for the same PR, cancel this one
+  - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
+        https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
+        Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
+        throw "There are newer queued builds for this pull request, failing early." }
+# Download most recent Julia Windows binary
+  - ps: (new-object net.webclient).DownloadFile(
+        $env:JULIA_URL,
+        "C:\projects\julia-binary.exe")
+# Run installer silently, output to C:\projects\julia
+  - C:\projects\julia-binary.exe /S /D=C:\projects\julia
+
+build_script:
+# Need to convert from shallow to complete for Pkg.clone to work
+  - IF EXIST .git\shallow (git fetch --unshallow)
+  - C:\projects\julia\bin\julia -e "versioninfo();
+      Pkg.clone(pwd(), \"LabProcesses\"); Pkg.build(\"LabProcesses\")"
+
+test_script:
+  - C:\projects\julia\bin\julia -e "Pkg.test(\"LabProcesses\")"
diff --git a/src/LabProcesses.jl b/src/LabProcesses.jl
new file mode 100644
index 0000000000000000000000000000000000000000..0ede1342c143a9d6601877acea4ffe5c5446dbdf
--- /dev/null
+++ b/src/LabProcesses.jl
@@ -0,0 +1,5 @@
+module LabProcesses
+
+# package code goes here
+
+end # module
diff --git a/test/runtests.jl b/test/runtests.jl
new file mode 100644
index 0000000000000000000000000000000000000000..84d5bdeec29bcae4e642f2d23eed8ffe36dbec62
--- /dev/null
+++ b/test/runtests.jl
@@ -0,0 +1,5 @@
+using LabProcesses
+using Base.Test
+
+# write your own tests here
+@test 1 == 2