abstracted path service