diff --git a/includes/setup.py b/includes/setup.py
deleted file mode 100644
index d7557d4915180093e636dc8e422766b840558592..0000000000000000000000000000000000000000
--- a/includes/setup.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from setuptools import setup, find_packages
-#from Cython.Build import cythonize
-
-# Adapted from Biopython
-__version__ = "Undefined"
-for line in open('smincludes/__init__.py'):
-    if (line.startswith('__version__')):
-        exec(line.strip())
-
-setup(
-    name="smincludes",
-    #version=libworkflows.__version__,
-    version=__version__,
-    description="Rules that can be included in snakemake workflows.",
-    author="Blaise Li",
-    author_email="blaise.li@normalesup.org",
-    license="MIT",
-    packages=find_packages(),
-    package_data={"smincludes": ["*.rules"]},
-    )
-    #ext_modules = cythonize("libsmallrna/libsmallrna.pyx"),
-    #install_requires=["cytoolz"],
-    #zip_safe=False
diff --git a/includes/install.sh b/install.sh
similarity index 100%
rename from includes/install.sh
rename to install.sh
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..a260f9680126d456e9da08979bc640aaa3f312dc
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,14 @@
+from setuptools import setup, find_packages
+
+setup(
+    name="snakemake_wrappers",
+    version=0.2,
+    description="Snakemake wrappers and rules that can be included in snakemake workflows.",
+    author="Blaise Li",
+    author_email="blaise.li@normalesup.org",
+    license="MIT",
+    packages=find_packages(),
+    package_data={
+        "smincludes": ["*.rules"],
+        "wrappers": ["*/wrapper.py"]},
+    )
diff --git a/includes/smincludes/__init__.py b/smincludes/__init__.py
similarity index 100%
rename from includes/smincludes/__init__.py
rename to smincludes/__init__.py
diff --git a/includes/smincludes/link_raw_data.rules b/smincludes/link_raw_data.rules
similarity index 100%
rename from includes/smincludes/link_raw_data.rules
rename to smincludes/link_raw_data.rules
diff --git a/wrappers/__init__.py b/wrappers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..276c01645b514d33d44ecdeec6e45c2f1a12081c
--- /dev/null
+++ b/wrappers/__init__.py
@@ -0,0 +1,7 @@
+import os
+
+__all__ = ["wrappers_dir"]
+
+# The working directory is that of the importing context.
+# __path__ gives access to the package path
+wrappers_dir = __path__
diff --git a/bam2fastq/wrapper.py b/wrappers/bam2fastq/wrapper.py
similarity index 100%
rename from bam2fastq/wrapper.py
rename to wrappers/bam2fastq/wrapper.py
diff --git a/bigwig_average_over_bed/wrapper.py b/wrappers/bigwig_average_over_bed/wrapper.py
similarity index 100%
rename from bigwig_average_over_bed/wrapper.py
rename to wrappers/bigwig_average_over_bed/wrapper.py
diff --git a/compute_RPK/wrapper.py b/wrappers/compute_RPK/wrapper.py
similarity index 100%
rename from compute_RPK/wrapper.py
rename to wrappers/compute_RPK/wrapper.py
diff --git a/compute_TPM/wrapper.py b/wrappers/compute_TPM/wrapper.py
similarity index 100%
rename from compute_TPM/wrapper.py
rename to wrappers/compute_TPM/wrapper.py
diff --git a/feature_count_reads/wrapper.py b/wrappers/feature_count_reads/wrapper.py
similarity index 100%
rename from feature_count_reads/wrapper.py
rename to wrappers/feature_count_reads/wrapper.py
diff --git a/filter_size_bam/wrapper.py b/wrappers/filter_size_bam/wrapper.py
similarity index 100%
rename from filter_size_bam/wrapper.py
rename to wrappers/filter_size_bam/wrapper.py
diff --git a/filter_unique_bam/wrapper.py b/wrappers/filter_unique_bam/wrapper.py
similarity index 100%
rename from filter_unique_bam/wrapper.py
rename to wrappers/filter_unique_bam/wrapper.py
diff --git a/filter_unique_sam/wrapper.py b/wrappers/filter_unique_sam/wrapper.py
similarity index 100%
rename from filter_unique_sam/wrapper.py
rename to wrappers/filter_unique_sam/wrapper.py
diff --git a/htseq_count_reads/.snakemake.16u5vrtp.wrapper.py b/wrappers/htseq_count_reads/.snakemake.16u5vrtp.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.16u5vrtp.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.16u5vrtp.wrapper.py
diff --git a/htseq_count_reads/.snakemake.5v24inro.wrapper.py b/wrappers/htseq_count_reads/.snakemake.5v24inro.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.5v24inro.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.5v24inro.wrapper.py
diff --git a/htseq_count_reads/.snakemake.7d9py3f6.wrapper.py b/wrappers/htseq_count_reads/.snakemake.7d9py3f6.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.7d9py3f6.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.7d9py3f6.wrapper.py
diff --git a/htseq_count_reads/.snakemake.by3fj1v8.wrapper.py b/wrappers/htseq_count_reads/.snakemake.by3fj1v8.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.by3fj1v8.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.by3fj1v8.wrapper.py
diff --git a/htseq_count_reads/.snakemake.ftb48_zh.wrapper.py b/wrappers/htseq_count_reads/.snakemake.ftb48_zh.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.ftb48_zh.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.ftb48_zh.wrapper.py
diff --git a/htseq_count_reads/.snakemake.km0dybww.wrapper.py b/wrappers/htseq_count_reads/.snakemake.km0dybww.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.km0dybww.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.km0dybww.wrapper.py
diff --git a/htseq_count_reads/.snakemake.q4x91jrv.wrapper.py b/wrappers/htseq_count_reads/.snakemake.q4x91jrv.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.q4x91jrv.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.q4x91jrv.wrapper.py
diff --git a/htseq_count_reads/.snakemake.q_427g9f.wrapper.py b/wrappers/htseq_count_reads/.snakemake.q_427g9f.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.q_427g9f.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.q_427g9f.wrapper.py
diff --git a/htseq_count_reads/.snakemake.uh5y8lab.wrapper.py b/wrappers/htseq_count_reads/.snakemake.uh5y8lab.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.uh5y8lab.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.uh5y8lab.wrapper.py
diff --git a/htseq_count_reads/.snakemake.v2tkj33z.wrapper.py b/wrappers/htseq_count_reads/.snakemake.v2tkj33z.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.v2tkj33z.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.v2tkj33z.wrapper.py
diff --git a/htseq_count_reads/.snakemake.weqd46if.wrapper.py b/wrappers/htseq_count_reads/.snakemake.weqd46if.wrapper.py
similarity index 100%
rename from htseq_count_reads/.snakemake.weqd46if.wrapper.py
rename to wrappers/htseq_count_reads/.snakemake.weqd46if.wrapper.py
diff --git a/htseq_count_reads/wrapper.py b/wrappers/htseq_count_reads/wrapper.py
similarity index 100%
rename from htseq_count_reads/wrapper.py
rename to wrappers/htseq_count_reads/wrapper.py
diff --git a/intersect_count_reads/wrapper.py b/wrappers/intersect_count_reads/wrapper.py
similarity index 100%
rename from intersect_count_reads/wrapper.py
rename to wrappers/intersect_count_reads/wrapper.py
diff --git a/make_read_stats/wrapper.py b/wrappers/make_read_stats/wrapper.py
similarity index 100%
rename from make_read_stats/wrapper.py
rename to wrappers/make_read_stats/wrapper.py
diff --git a/map_on_genome/wrapper.py b/wrappers/map_on_genome/wrapper.py
similarity index 100%
rename from map_on_genome/wrapper.py
rename to wrappers/map_on_genome/wrapper.py
diff --git a/sam2indexedbam/wrapper.py b/wrappers/sam2indexedbam/wrapper.py
similarity index 100%
rename from sam2indexedbam/wrapper.py
rename to wrappers/sam2indexedbam/wrapper.py