diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..154ea27
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,9 @@
+#include MANIFEST.in
+#include requirements.txt
+include README.rst
+include openmano
+include openmanod.py
+include openmanod.cfg
+include osm-ro.service
+recursive-include osm_ro *
+
diff --git a/Makefile b/Makefile
index b5e6960..76a2990 100644
--- a/Makefile
+++ b/Makefile
@@ -2,42 +2,47 @@
 all: pypackage debpackage
 
 prepare:
-	mkdir -p build
-	cp *.py build/
-	#cd build; mv openmanod.py openmanod
-	cp openmano build/
-	cp openmanod.cfg build/
+	mkdir -p build/
+	cp MANIFEST.in build/
 	cp requirements.txt build/
 	cp README.rst build/
-	cp openmano.service build/
-	cp -r vnfs build/
-	cp -r scenarios build/
-	cp -r instance-scenarios build/
-	cp -r scripts build/
-	cd build/scripts; mv service-openmano.sh service-openmano; mv openmano-report.sh openmano-report
-	cp -r database_utils build/
+	cp setup.py build/
+	cp -r osm_ro build/
+	cp openmano build/
+	cp openmanod.py build/
+	cp openmanod.cfg build/
+	cp osm-ro.service build/
+	cp -r vnfs build/osm_ro
+	cp -r scenarios build/osm_ro
+	cp -r instance-scenarios build/osm_ro
+	cp -r scripts build/osm_ro
+	cp -r database_utils build/osm_ro
 
 connectors: prepare
 	# python-novaclient is required for that
-	rm -f build/openmanolinkervimconn.py
-	cd build; for i in `ls vimconn_*.py |sed "s/\.py//"` ; do echo "import $$i" >> openmanolinkervimconn.py; done
-	python build/openmanolinkervimconn.py
-	rm -f build/openmanolinkervimconn.py
+	rm -f build/osm_ro/openmanolinkervimconn.py
+	cd build/osm_ro; for i in `ls vimconn_*.py |sed "s/\.py//"` ; do echo "import $$i" >> openmanolinkervimconn.py; done
+	python build/osm_ro/openmanolinkervimconn.py
+	rm -f build/osm_ro/openmanolinkervimconn.py
 
-build: prepare
-	python -m py_compile build/*.py
+build: connectors prepare
+	python -m py_compile build/osm_ro/*.py
 
-pypackage: build
+pypackage: prepare
 	cd build; ./setup.py sdist
-	#cp build/dist/* /root/artifacts/...
+	cd build; ./setup.py bdist_wheel
 
-debpackage: build
-	echo "Nothing to be done yet"
+debpackage: prepare
+	echo "Nothing to be done"
+	#cd build; ./setup.py --command-packages=stdeb.command bdist_deb
 	#fpm -s python -t deb build/setup.py
 
 snappackage:
 	echo "Nothing to be done yet"
 
+sync:
+	#cp build/dist/* /root/artifacts/...
+
 test:
 	./test/basictest.sh --force --insert-bashrc --install-openvim --init-openvim
 
diff --git a/openmano.service b/openmano.service
deleted file mode 100644
index cc8966c..0000000
--- a/openmano.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=openmano server (OSM RO)
-
-[Service]
-User=${USER_OWNER}
-ExecStart=openmanod -c /etc/osm/openmanod.cfg --log-file=/var/log/osm/openmano.log
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/openmanod.py b/openmanod.py
index 03901c3..bb32339 100755
--- a/openmanod.py
+++ b/openmanod.py
@@ -37,19 +37,17 @@
 version_date="Jan 2017"
 database_version="0.19"      #expected database schema version
 
-import httpserver
 import time
 import sys
 import getopt
 import yaml
-import nfvo_db
 from jsonschema import validate as js_v, exceptions as js_e
-from openmano_schemas import config_schema
-from db_base import db_base_Exception
-import nfvo
 import logging
 import logging.handlers as log_handlers
 import socket
+from osm_ro import httpserver, nfvo, nfvo_db
+from osm_ro.openmano_schemas import config_schema
+from osm_ro.db_base import db_base_Exception
 
 global global_config
 global logger
diff --git a/osm-ro.service b/osm-ro.service
new file mode 100644
index 0000000..155150b
--- /dev/null
+++ b/osm-ro.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=openmano server (OSM RO)
+
+[Service]
+User=${USER_OWNER}
+ExecStart=openmanod.py -c /etc/osm/openmanod.cfg --log-file=/var/log/osm/openmano.log
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/console_proxy_thread.py b/osm_ro/console_proxy_thread.py
similarity index 100%
rename from console_proxy_thread.py
rename to osm_ro/console_proxy_thread.py
diff --git a/db_base.py b/osm_ro/db_base.py
similarity index 100%
rename from db_base.py
rename to osm_ro/db_base.py
diff --git a/httpserver.py b/osm_ro/httpserver.py
similarity index 100%
rename from httpserver.py
rename to osm_ro/httpserver.py
diff --git a/nfvo.py b/osm_ro/nfvo.py
similarity index 100%
rename from nfvo.py
rename to osm_ro/nfvo.py
diff --git a/nfvo_db.py b/osm_ro/nfvo_db.py
similarity index 100%
rename from nfvo_db.py
rename to osm_ro/nfvo_db.py
diff --git a/openmano_schemas.py b/osm_ro/openmano_schemas.py
similarity index 100%
rename from openmano_schemas.py
rename to osm_ro/openmano_schemas.py
diff --git a/openmanoclient.py b/osm_ro/openmanoclient.py
similarity index 100%
rename from openmanoclient.py
rename to osm_ro/openmanoclient.py
diff --git a/utils.py b/osm_ro/utils.py
similarity index 100%
rename from utils.py
rename to osm_ro/utils.py
diff --git a/vim_thread.py b/osm_ro/vim_thread.py
similarity index 100%
rename from vim_thread.py
rename to osm_ro/vim_thread.py
diff --git a/vimconn.py b/osm_ro/vimconn.py
similarity index 100%
rename from vimconn.py
rename to osm_ro/vimconn.py
diff --git a/vimconn_openstack.py b/osm_ro/vimconn_openstack.py
similarity index 100%
rename from vimconn_openstack.py
rename to osm_ro/vimconn_openstack.py
diff --git a/vimconn_openvim.py b/osm_ro/vimconn_openvim.py
similarity index 100%
rename from vimconn_openvim.py
rename to osm_ro/vimconn_openvim.py
diff --git a/vimconn_vmware.py b/osm_ro/vimconn_vmware.py
similarity index 100%
rename from vimconn_vmware.py
rename to osm_ro/vimconn_vmware.py
diff --git a/vmwarecli.py b/osm_ro/vmwarecli.py
similarity index 100%
rename from vmwarecli.py
rename to osm_ro/vmwarecli.py
diff --git a/vmwarerecli.py b/osm_ro/vmwarerecli.py
similarity index 100%
rename from vmwarerecli.py
rename to osm_ro/vmwarerecli.py
diff --git a/requirements.txt b/requirements.txt
index 0f6b6f6..38c055c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,21 +1,21 @@
 --index-url https://pypi.python.org/simple/
 
-PyYAML==3.10
-bottle==0.12.7
-PyMySQL==0.7.2
-jsonschema==2.5.1
-paramiko==1.16.0
-argcomplete==0.8.1
-requests==2.13.0
-logutils==0.3.3
-python-cinderclient==1.6.0
-python-glanceclient==2.0.0
-python-keystoneclient==2.3.1
-python-neutronclient==4.1.1
-python-novaclient==3.3.1
-pyvcloud==16
-pyvmomi==6.5
-progressbar==2.3
-prettytable==0.7.2
-boto==2.38.0
+PyYAML
+bottle
+MySQL-python
+jsonschema
+paramiko
+argcomplete
+requests
+logutils
+python-novaclient
+python-keystoneclient
+python-glanceclient
+python-neutronclient
+python-cinderclient
+pyvcloud
+pyvmomi
+progressbar
+prettytable
+boto
 
diff --git a/scripts/service-openmano.sh b/scripts/service-openmano.sh
index 1a48d4a..0224d20 100755
--- a/scripts/service-openmano.sh
+++ b/scripts/service-openmano.sh
@@ -116,7 +116,7 @@
             running=y
         done
         #if installed as a service and it is not provided a screen name call service
-        [[ -f /etc/systemd/system/openmano.service ]] && [[ -z $option_screen_name ]] && running=y #&& service openmano status
+        [[ -f /etc/systemd/system/osm-ro.service ]] && [[ -z $option_screen_name ]] && running=y #&& service osm-ro status
         if [ -z "$running" ]
         then
             echo -n "    $om_name not running" && [[ -n "$option_screen_name" ]] && echo " on screen '$option_screen_name'" || echo
@@ -124,7 +124,7 @@
     fi
 
     #if installed as a service and it is not provided a screen name call service
-    [[ -f /etc/systemd/system/openmano.service ]] && [[ -z $option_screen_name ]] && service openmano $om_action && ( [[ $om_action == status ]] || sleep 5 ) && exit $?
+    [[ -f /etc/systemd/system/osm-ro.service ]] && [[ -z $option_screen_name ]] && service osm-ro $om_action && ( [[ $om_action == status ]] || sleep 5 ) && exit $?
 
 
     #stop
diff --git a/setup.py b/setup.py
index 2d2d07a..68781be 100755
--- a/setup.py
+++ b/setup.py
@@ -1,68 +1,69 @@
 #!/usr/bin/env python
 
 from setuptools import setup
+from setuptools.command.install import install
+from os import system
 #import glob
 
-requirements = [
+_name = 'osm_ro'
+_version = '1.0.0'
+_description = 'OSM Resource Orchestrator'
+_author = 'ETSI OSM'
+_author_email = 'alfonso.tiernosepulveda@telefonica.com'
+_maintainer = 'garciadeblas'
+_maintainer_email = 'gerardo.garciadeblas@telefonica.com'
+_license = 'Apache 2.0'
+_url = 'https://osm.etsi.org/gitweb/?p=osm/RO.git;a=summary'
+_requirements = [
     "PyYAML",
     "bottle",
-    "mysqldb",
+    "MySQL-python",
     "jsonschema",
     "paramiko",
     "argcomplete",
     "requests",
     "logutils",
-    "pip",
-    "novaclient",
-    "keystoneclient",
-    "glanceclient",
-    "neutronclient",
-    "cinderclient",
-    "boto",
+    "python-novaclient",
+    "python-keystoneclient",
+    "python-glanceclient",
+    "python-neutronclient",
+    "python-cinderclient",
     "pyvcloud",
     "progressbar",
     "prettytable",
     "pyvmomi",
+    "boto",
 ]
 
-setup(name='osm-ro',
-      version='1.0',
-      description='OSM Resource Orchestrator',
-      long_description=open('README.rst').read(),
-      author='ETSI OSM',
-      author_email='alfonso.tiernosepulveda@telefonica.com',
-      maintainer='garciadeblas',
-      maintainer_email='gerardo.garciadeblas@telefonica.com',
-      url='https://osm.etsi.org/gitweb/?p=osm/RO.git;a=summary',
-      license='Apache 2.0',
-      #packages=['ro-server', 'ro-client'],
-      #py_modules=glob.glob('*.py')
-      py_modules=['console_proxy_thread',
-                  'db_base',
-                  'httpserver',
-                  'nfvo_db',
-                  'nfvo',
-                  'openmanoclient',
-                  'openmanoconfig',
-                  'openmanod',
-                  'openmano_schemas',
-                  'utils',
-                  'vimconn_openstack',
-                  'vimconn_openvim',
-                  'vimconn',
-                  'vimconn_vmware',
-                  'vmwarecli',
-                  'vmwarerecli',
-                 ],
-     install_requires=requirements,
-     #package_data={'': ['vnfs', 'scenarios', 'instance-scenarios', 'database_utils/mano_db_structure.sql']}
-     data_files=[('/etc/osm/', ['openmanod.cfg']),
-                 ('/etc/systemd/system/', ['openmano.service']),
-                 ('vnfs', ['vnfs']),
-                 ('scenarios', ['scenarios']),
-                 ('instance-scenarios', ['instance-scenarios']),
-                 ('database_utils', ['database-utils']),
-                ],
-     scripts=['openmanod.py', 'openmano', 'scripts/service-openmano', 'scripts/openmano-report',]
-     )
+class ROInstaller(install):
+    def run(self):
+        cmd = 'echo "Running install script"'
+        system(cmd)
+        install.run(self)
+
+setup(name=_name,
+      version = _version,
+      description = _description,
+      long_description = open('README.rst').read(),
+      author = _author,
+      author_email = _author_email,
+      maintainer = _maintainer,
+      maintainer_email = _maintainer_email,
+      url = _url,
+      license = _license,
+      packages = [_name],
+      #packages = ['osm_ro', 'osm_roclient'],
+      package_dir = {_name: _name},
+      package_data = {_name: ['vnfs/*.yaml', 'vnfs/examples/*.yaml',
+                         'scenarios/*.yaml', 'scenarios/examples/*.yaml',
+                         'instance-scenarios/examples/*.yaml', 'database_utils/*',
+                         'scripts/install-openmano*.sh']},
+      data_files = [('/etc/osm/', ['openmanod.cfg']),
+                   ('/etc/systemd/system/', ['osm-ro.service']),
+                   ],
+      scripts=['openmanod.py', 'openmano', 'osm_ro/scripts/service-openmano.sh', 'osm_ro/scripts/openmano-report.sh',],
+      install_requires=_requirements,
+      include_package_data=True,
+      cmdclass = {'install': ROInstaller},
+      )
 
