FIX:renaming.
        FIX: added alphabetical output ordering.
    FIX: added generator and str refactor
    NEW: more unit tests.