first version of abstract paths