generate all path