generic paths revised