diff --git a/ansible/README.md b/ansible/README.md
index e66263f2fc914d7cd7b50f7279fa5cbab550af1e..276bbace20a39c88fcc4ab6db07587df9adf0117 100644
--- a/ansible/README.md
+++ b/ansible/README.md
@@ -180,6 +180,7 @@ cd ~/src/lmc-base-classes/ansible
 ./play-task.sh deregister_refelts.yml
 ./play-task.sh generate-sw
 ./play-task.sh install-sw
+./play-task.sh register-my-refelt local
 ```
 
 ### To configure a specific RefEltX TANGO facility and start its device servers (my_refelt)
@@ -208,17 +209,17 @@ Note: this may later be templated for RefElts (as it may be a useful pattern for
 
 (If need be, deregister previous registrations with:)
 ```
-ansible-playbook deregister_refelts.yml
+./play-task.sh deregister_refelts.yml
 ```
 
 
 Then do
 ```
-ansible-playbook register-my-refelt devXX
+./play-task.sh register-my-refelt devXX
 ```
 this produces the ansible command line (note the --limit):
 ```
-ansible-playbook -i hosts site.yml --limit devXX --tags register-my-refelt --verbose --ask-become-pass
+ansible-playbook -i hosts site.yml --limit devXX --tags register-my-refelt --verbose
 ```
 
 # NOTES:
diff --git a/ansible/library/register_refelt.py b/ansible/library/register_refelt.py
deleted file mode 100644
index 89daff765efa89e8676a4d0456fb3fa899b92201..0000000000000000000000000000000000000000
--- a/ansible/library/register_refelt.py
+++ /dev/null
@@ -1,263 +0,0 @@
-#!/usr/bin/env python
-
-##################################################
-### DEBUG USING:
-### ansible-playbook -i hosts site.yml --limit local --tags register-refelt-in-tangodb -vvv
-### ansible-playbook -i hosts site.yml --limit local --tags register-refelt-in-astor -vvv
-### USE IT LIKE THIS:
-### ./play-task.sh register-refelt in-tangodb
-### ./play-task.sh register-refelt in-astor
-##################################################
-
-
-##################################################
-###          MODULE IMPORT
-##################################################
-# Put any initial imports here - we can't use module.fail_json b/c we haven't
-# imported stuff from ansible.module_utils.basic yet
-# import configure_devices
-
-#try:
-#	## STANDARD MODULES
-#    import json
-#    import pkg_resources
-#    import PyTango
-
-#except ImportError, e:
-#    print "failed=True msg='failed to import python module: %s'" % e
-#    sys.exit(1)
-##################################################
-import json
-import pkg_resources
-import PyTango
-import logging
-from fandango import Astor
-
-
-DEFAULT_REFELT_ASTOR_CONFIG = dict(
-#node: {level: (server/instance,server/instance,...)}
-    { "lmc-base-classes": {
-        0: ("TangoAccessControl/1",),
-        1: ("SvrFileLogger/Central",),
-        2: ("SvrFileLogger/Elt",),
-        3: ("SvrRefAchild/1",
-            "SvrRefAchild/2",
-            "SvrRefCapability/Sub1CapCalcA",
-            "SvrRefCapability/Sub1CapCalcB",
-            "SvrRefCapability/Sub1CapProcC",
-            "SvrRefCapability/Sub1CapProcD",
-            "SvrRefCapability/Sub2CapCalcA",
-            "SvrRefCapability/Sub2CapCalcB",
-            "SvrRefCapability/Sub2CapProcC",
-            "SvrRefCapability/Sub2CapProcD",),
-        4: ("SvrRefA/1",
-            "SvrRefA/2",
-            "SvrRefSubarray/Sub1",
-            "SvrRefSubarray/Sub2",
-            "SvrAlarmHandler/SubElt1",
-            "SvrAlarmHandler/SubElt2",),
-        5: ("SvrRefMaster/Elt",
-            "SvrAlarmHandler/Elt",
-            "SvrTelState/Elt"),
-        },
-    })
-
-DEFAULT_REFELT_TANGO_CONFIG = dict(
-#server_exe: {server_instance: ((device_class,domain/family/instance),...)}
-    { "SvrFileLogger" : {
-          # TBD - decide where to configure central devices like logger and archiver
-          "Central": (("FileLogger", "ref/central/logger"),),
-          "Elt": (("FileLogger", "ref/elt/logger"),),
-      },
-      "SvrRefA" : {
-          "1": (("RefA", "ref/a/1"),),
-          "2": (("RefA", "ref/a/2"),),
-      },
-      "SvrRefAchild" : {
-          "1": (("RefAchild", "ref/achild/11"),
-                ("RefAchild", "ref/achild/12"),),
-          "2": (("RefAchild", "ref/achild/21"),
-                ("RefAchild", "ref/achild/22"),),
-      },
-      "SvrRefMaster" : {
-          "Elt": (("RefMaster","ref/elt/master"),),
-      },
-      "SvrRefTelState" : {
-          "Elt": (("RefTelState","ref/elt/telstate"),),
-      },
-      "SvrRefAlarmHandler" : {
-          "Elt": (("RefAlarmHandler","ref/elt/alarmhandler"),),
-          "SubElt1": (("RefAlarmHandler","ref/subelt1/alarmhandler"),),
-          "SubElt2": (("RefAlarmHandler","ref/subelt2/alarmhandler"),),
-      },
-      "SvrRefSubarray" : {
-          "Sub1": (("RefSubarray", "ref/subarray/1"),),
-          "Sub2": (("RefSubarray", "ref/subarray/2"),),
-      },
-      "SvrRefCapability" : {
-          "Sub1CapCalcA": (("RefCapability", "ref/cap/sub1_calca"),),
-          "Sub1CapCalcB": (("RefCapability", "ref/cap/sub1_calcb"),),
-          "Sub1CapProcC": (("RefCapability", "ref/cap/sub1_procc"),),
-          "Sub1CapProcD": (("RefCapability", "ref/cap/sub1_procd"),),
-          # or
-          #"Sub1CapA": (("RefCapability", "ref/subarray1/calca"),),
-          #"Sub1CapB": (("RefCapability", "ref/subarray1/calcb"),),
-          #"Sub1CapC": (("RefCapability", "ref/subarray1/procc"),),
-          #"Sub1CapD": (("RefCapability", "ref/subarray1/procd"),),
-          #or
-          #"Sub1CapA": (("RefCapability", "ref/calca/sub1"),),
-          #"Sub1CapB": (("RefCapability", "ref/calca/sub2"),),
-          #"Sub1CapC": (("RefCapability", "ref/calcb/sub1"),),
-          #"Sub1CapD": (("RefCapability", "ref/calcb/sub2"),),
-          #or
-          "Sub2CapCalcA": (("RefCapability", "ref/cap/sub2_calca"),),
-          "Sub2CapCalcB": (("RefCapability", "ref/cap/sub2_calcb"),),
-          "Sub2CapProcC": (("RefCapability", "ref/cap/sub2_procc"),),
-          "Sub2CapProcD": (("RefCapability", "ref/cap/sub2_procd"),),
-      },
-    })
-
-
-def register_device(db, name, device_class, server_class, server_instance):
-    dev_info = PyTango.DbDevInfo()
-    dev_info.name = name
-    dev_info._class = device_class
-    dev_info.server = "{}/{}".format(server_class.split('.')[0], server_instance)
-    print """Attempting to register TANGO device {!r}  class: {!r}  server: {!r}.""".format(
-        dev_info.name, dev_info._class, dev_info.server)
-    db.add_device(dev_info)
-
-
-def register_in_tango(name, dbconfig):
-    errors = 0
-    done = 0
-    db = PyTango.Database()
-    out = ""
-    #server_class: {server_instance: (class,domain/family/instance),...)}
-    for server_class in sorted(dbconfig.keys()):
-        for server_instance in dbconfig[server_class].keys():
-            devices = dbconfig[server_class][server_instance]
-            for device_class, device_name in devices:
-                try:
-                    register_device(db, device_name, device_class, server_class, server_instance)
-                    logging.info("Registered {}".format(device_name))
-                    done += 1
-                    out = out + " " + device_name
-                except Exception as exc:
-                    logging.error("FAILED to register {} {}".format(device_name, exc))
-                    print """FAILED TO REGISTER in TANGO db"""
-                    print """server_class={!r}  server_instance={!r} device_class={!r} device_name={!r}.""".format(
-                        server_class, server_instance, device_class, device_name)
-                    errors += 1
-                    continue
-    return errors, done, out
-
-
-def register_in_astor(name, astorconfig):
-    errors = 0
-    done = 0
-    out = ""
-
-    #node: {level: (server/instance,server/instance,...)}
-    astor = Astor()
-    for node in sorted(astorconfig.keys()):
-        astor.load_by_host(node)
-        for level in sorted(astorconfig[node].keys()):
-            server_instances = astorconfig[node][level]
-            for server_instance in server_instances:
-                try:
-                    astor.set_server_level(server_instance, node, level)
-                    logging.info("Registered {}".format(server_instance))
-                    done += 1
-                    out += " " + server_instance
-                    # For now - start each server - else they do not show up in the Astor GUI
-                    # Start them independently since they do not all exist in DsPath yet
-                    try:
-                        result = astor.start_servers([server_instance], node)
-                        if not result:
-                            logging.error("FAILED to start {!r}".format(server_instance))
-                            print """FAILED TO START in ASTOR"""
-                            print """node={!r}  level={!r} server_instance={!r}.""".format(
-                                node, level, server_instance)
-                            out += "(not started)"
-                    except Exception as exc:
-                        logging.error("EXCEPTION in start {!r} ({!r})".format(server_instance, exc))
-                        print """EXCEPTION IN START in ASTOR"""
-                        print """node={!r}  level={!r} server_instance={!r}.""".format(
-                            node, level, server_instance)
-                        out += "(exception in start)"
-                        # Do not count this as an error for now
-                except Exception as exc:
-                    logging.error("EXCEPTION in register {!r} ({!r})".format(server_instance, exc))
-                    print """EXCEPTION IN REGISTER in ASTOR"""
-                    print """node={!r}  level={!r} server_instance={!r}.""".format(
-                        node, level, server_instance)
-                    errors += 1
-                    out += "(exception in register)"
-                    continue
-    return errors, done, out
-
-##################################################
-###          MODULE MAIN
-##################################################
-def main():
-    """Main for the Ansible module"""
-
-    ## Create ansible module
-    changed = False
-    message = ''
-
-    module = AnsibleModule(
-        argument_spec=dict(action=dict(required=True),
-            facility_name=dict(required=True),
-            facility_config=dict(required=True)),
-        supports_check_mode=True
-        )
-
-    # In check mode, we take no action
-    # Since this module never changes system state, we just
-    # return changed=False
-    if module.check_mode:
-        module.exit_json(changed=False)
-
-    ## Check if required parameters are provided
-    # action, facility_name, facility_config
-    if not module.params.get('action'):
-        msg = "action parameter has to be specified!"
-        module.fail_json(msg=msg)
-
-    if not module.params.get('facility_name'):
-        msg = "facility_name parameter has to be specified!"
-        module.fail_json(msg=msg)
-
-    if not module.params.get('facility_config'):
-        msg = "facility_config parameter has to be specified!"
-        module.fail_json(msg=msg)
-
-    ## Get and check module args
-    action = module.params['action']
-    facility_name = module.params['facility_name']
-    facility_config = module.params['facility_config']
-
-    if action == "in_tangodb":
-        if facility_config == "TBD":
-            facility_config = DEFAULT_REFELT_TANGO_CONFIG
-        errors, done, out = register_in_tango(facility_name, facility_config)
-        msg = "Failed to register devices in TANGO db"
-    elif action == "in_astor":
-        if facility_config == "TBD":
-            facility_config = DEFAULT_REFELT_ASTOR_CONFIG
-        msg = "Failed to register servers in ASTOR"
-        errors, done, out = register_in_astor(facility_name, facility_config)
-
-    if errors:
-        module.fail_json(msg=msg)
-    else:
-        module.exit_json(msg="Success {} done ({})".format(done, out),changed=True)
-
-
-## Include at the end ansible (NB: it is not a standard Python include according to manual)
-from ansible.module_utils.basic import *
-
-if __name__ == '__main__':
-    main()
diff --git a/ansible/roles/deploy_sw/README.md b/ansible/roles/deploy_sw/README.md
index f4028dd09beeba3dbfbd4e9ac7a832866cc72525..59906681757c42a3b57955fb7c1e34e17428506d 100644
--- a/ansible/roles/deploy_sw/README.md
+++ b/ansible/roles/deploy_sw/README.md
@@ -1,3 +1,3 @@
 deploy_sw
 ---------
-This role deploys software packages for RefElt (reference element)
+This role deploys (i.e. git clones or pulls) the software repo for lmc-base-classes.
diff --git a/setup.py b/setup.py
index 0ee1cc7533df7cac7739e35c00149176c96ae569..c782eb94835b6eede4711f6ebe8c6d339a2401e5 100644
--- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@ from setuptools import setup, find_packages
 needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
 pytest_runner = ['pytest-runner'] if needs_pytest else []
 
-setup(name="ska_lmc",
+setup(name="lmc_base_classes",
       description="Element Base Classes - Evolutionary Prototype",
       author="SKA Team",
       packages=find_packages(),