'Converts this unit into ones belonging to the given system.
Since more than one result may be possible, a list is always
returned.
Parameters
system : module
The module that defines the unit system.  Commonly used
ones include `astropy.units.si` and `astropy.units.cgs`.
To use your own module it must contain unit objects and a
sequence member named ``bases`` containing the base units of
the system.
Returns
units : list of `CompositeUnit`
The list is ranked so that units containing only the base
units of that system will appear first.'

def to_system(self, system):

    bases = set(system.bases)
    def score(compose):
        compose_bases = compose.bases
        if (len(compose_bases) == 0):
            return np.inf
        else:
            sum = 0
            for base in compose_bases:
                if (base in bases):
                    sum += 1
            return (sum / float(len(compose_bases)))
    x = self.decompose(bases=bases)
    composed = x.compose(units=system)
    composed = sorted(composed, key=score, reverse=True)
    return composed
