recurse lib and app