identify by lib_name and id, don't use files unless we're doing IO