maintain cache API, ensure ordering of packages