for (PackageSet::const_iterator P = pkgset.begin();
             P != pkgset.end(); ++P) {
                if (vertag == string::npos) {
-                       AddSelectedVersion(Cache, verset, P, fallback, helper);
+                       verset.insert(VersionSet::FromPackage(Cache, P, fallback, helper));
                        continue;
                }
                pkgCache::VerIterator V;
        return verset;
 }
                                                                        /*}}}*/
-// AddSelectedVersion - add version from package based on fallback     /*{{{*/
-void VersionSet::AddSelectedVersion(pkgCacheFile &Cache, VersionSet &verset,
-               pkgCache::PkgIterator const &P, VersionSet::Version const &fallback,
-               CacheSetHelper &helper) {
+// FromPackage - versions from package based on fallback               /*{{{*/
+VersionSet VersionSet::FromPackage(pkgCacheFile &Cache, pkgCache::PkgIterator const &P,
+               VersionSet::Version const &fallback, CacheSetHelper &helper) {
+       VersionSet verset;
        pkgCache::VerIterator V;
        bool showErrors;
        switch(fallback) {
                        verset.insert(helper.canNotFindNewestVer(Cache, P));
                break;
        }
+       return verset;
 }
                                                                        /*}}}*/
 // getCandidateVer - Returns the candidate version of the given package        /*{{{*/
 
                return APT::VersionSet::FromString(Cache, pkg, CANDINST);
        }
 
+       /** \brief returns all versions specified for the package
+
+           \param Cache the package and versions are in
+           \param P the package in question
+           \param fallback the version(s) you want to get
+           \param helper the helper used for display and error handling */
+       static VersionSet FromPackage(pkgCacheFile &Cache, pkgCache::PkgIterator const &P,
+               VersionSet::Version const &fallback, CacheSetHelper &helper);
+
        struct Modifier {
                enum Position { NONE, PREFIX, POSTFIX };
                unsigned short ID;
            \param Pkg we want the installed version from this package */
        static pkgCache::VerIterator getInstalledVer(pkgCacheFile &Cache,
                pkgCache::PkgIterator const &Pkg, CacheSetHelper &helper);
-
-       static void AddSelectedVersion(pkgCacheFile &Cache, VersionSet &verset,
-               pkgCache::PkgIterator const &P, VersionSet::Version const &fallback,
-               CacheSetHelper &helper);
-
                                                                        /*}}}*/
 };                                                                     /*}}}*/
 }