more general path