use generic variable name
add caching, drop req for launchpadlib